@bopen-io/wallet-toolbox 1.7.18 → 1.7.20-idb-fix.1

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 (1308) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/SECURITY-ISSUE-WPM-TOKEN-THEFT.md +218 -0
  3. package/WPM-vulnerability.md +23 -0
  4. package/out/src/CWIStyleWalletManager.d.ts +439 -0
  5. package/out/src/CWIStyleWalletManager.d.ts.map +1 -0
  6. package/out/src/CWIStyleWalletManager.js +1317 -0
  7. package/out/src/CWIStyleWalletManager.js.map +1 -0
  8. package/out/src/Setup.d.ts +267 -0
  9. package/out/src/Setup.d.ts.map +1 -0
  10. package/out/src/Setup.js +408 -0
  11. package/out/src/Setup.js.map +1 -0
  12. package/out/src/SetupClient.d.ts +130 -0
  13. package/out/src/SetupClient.d.ts.map +1 -0
  14. package/out/src/SetupClient.js +226 -0
  15. package/out/src/SetupClient.js.map +1 -0
  16. package/out/src/SetupWallet.d.ts +103 -0
  17. package/out/src/SetupWallet.d.ts.map +1 -0
  18. package/out/src/SetupWallet.js +3 -0
  19. package/out/src/SetupWallet.js.map +1 -0
  20. package/out/src/SimpleWalletManager.d.ts +169 -0
  21. package/out/src/SimpleWalletManager.d.ts.map +1 -0
  22. package/out/src/SimpleWalletManager.js +315 -0
  23. package/out/src/SimpleWalletManager.js.map +1 -0
  24. package/out/src/Wallet.d.ts +206 -0
  25. package/out/src/Wallet.d.ts.map +1 -0
  26. package/out/src/Wallet.js +797 -0
  27. package/out/src/Wallet.js.map +1 -0
  28. package/out/src/WalletAuthenticationManager.d.ts +33 -0
  29. package/out/src/WalletAuthenticationManager.d.ts.map +1 -0
  30. package/out/src/WalletAuthenticationManager.js +113 -0
  31. package/out/src/WalletAuthenticationManager.js.map +1 -0
  32. package/out/src/WalletLogger.d.ts +65 -0
  33. package/out/src/WalletLogger.d.ts.map +1 -0
  34. package/out/src/WalletLogger.js +167 -0
  35. package/out/src/WalletLogger.js.map +1 -0
  36. package/out/src/WalletPermissionsManager.d.ts +760 -0
  37. package/out/src/WalletPermissionsManager.d.ts.map +1 -0
  38. package/out/src/WalletPermissionsManager.js +2679 -0
  39. package/out/src/WalletPermissionsManager.js.map +1 -0
  40. package/out/src/WalletSettingsManager.d.ts +53 -0
  41. package/out/src/WalletSettingsManager.d.ts.map +1 -0
  42. package/out/src/WalletSettingsManager.js +83 -0
  43. package/out/src/WalletSettingsManager.js.map +1 -0
  44. package/out/src/__tests/CWIStyleWalletManager.test.d.ts +2 -0
  45. package/out/src/__tests/CWIStyleWalletManager.test.d.ts.map +1 -0
  46. package/out/src/__tests/CWIStyleWalletManager.test.js +527 -0
  47. package/out/src/__tests/CWIStyleWalletManager.test.js.map +1 -0
  48. package/out/src/__tests/WalletPermissionsManager.callbacks.test.d.ts +2 -0
  49. package/out/src/__tests/WalletPermissionsManager.callbacks.test.d.ts.map +1 -0
  50. package/out/src/__tests/WalletPermissionsManager.callbacks.test.js +239 -0
  51. package/out/src/__tests/WalletPermissionsManager.callbacks.test.js.map +1 -0
  52. package/out/src/__tests/WalletPermissionsManager.checks.test.d.ts +2 -0
  53. package/out/src/__tests/WalletPermissionsManager.checks.test.d.ts.map +1 -0
  54. package/out/src/__tests/WalletPermissionsManager.checks.test.js +642 -0
  55. package/out/src/__tests/WalletPermissionsManager.checks.test.js.map +1 -0
  56. package/out/src/__tests/WalletPermissionsManager.encryption.test.d.ts +2 -0
  57. package/out/src/__tests/WalletPermissionsManager.encryption.test.d.ts.map +1 -0
  58. package/out/src/__tests/WalletPermissionsManager.encryption.test.js +335 -0
  59. package/out/src/__tests/WalletPermissionsManager.encryption.test.js.map +1 -0
  60. package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts +87 -0
  61. package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts.map +1 -0
  62. package/out/src/__tests/WalletPermissionsManager.fixtures.js +281 -0
  63. package/out/src/__tests/WalletPermissionsManager.fixtures.js.map +1 -0
  64. package/out/src/__tests/WalletPermissionsManager.flows.test.d.ts +2 -0
  65. package/out/src/__tests/WalletPermissionsManager.flows.test.d.ts.map +1 -0
  66. package/out/src/__tests/WalletPermissionsManager.flows.test.js +380 -0
  67. package/out/src/__tests/WalletPermissionsManager.flows.test.js.map +1 -0
  68. package/out/src/__tests/WalletPermissionsManager.initialization.test.d.ts +2 -0
  69. package/out/src/__tests/WalletPermissionsManager.initialization.test.d.ts.map +1 -0
  70. package/out/src/__tests/WalletPermissionsManager.initialization.test.js +227 -0
  71. package/out/src/__tests/WalletPermissionsManager.initialization.test.js.map +1 -0
  72. package/out/src/__tests/WalletPermissionsManager.pmodules.test.d.ts +2 -0
  73. package/out/src/__tests/WalletPermissionsManager.pmodules.test.d.ts.map +1 -0
  74. package/out/src/__tests/WalletPermissionsManager.pmodules.test.js +624 -0
  75. package/out/src/__tests/WalletPermissionsManager.pmodules.test.js.map +1 -0
  76. package/out/src/__tests/WalletPermissionsManager.proxying.test.d.ts +2 -0
  77. package/out/src/__tests/WalletPermissionsManager.proxying.test.d.ts.map +1 -0
  78. package/out/src/__tests/WalletPermissionsManager.proxying.test.js +584 -0
  79. package/out/src/__tests/WalletPermissionsManager.proxying.test.js.map +1 -0
  80. package/out/src/__tests/WalletPermissionsManager.tokens.test.d.ts +2 -0
  81. package/out/src/__tests/WalletPermissionsManager.tokens.test.d.ts.map +1 -0
  82. package/out/src/__tests/WalletPermissionsManager.tokens.test.js +415 -0
  83. package/out/src/__tests/WalletPermissionsManager.tokens.test.js.map +1 -0
  84. package/out/src/index.all.d.ts +24 -0
  85. package/out/src/index.all.d.ts.map +1 -0
  86. package/out/src/index.all.js +63 -0
  87. package/out/src/index.all.js.map +1 -0
  88. package/out/src/index.client.d.ts +23 -0
  89. package/out/src/index.client.d.ts.map +1 -0
  90. package/out/src/index.client.js +62 -0
  91. package/out/src/index.client.js.map +1 -0
  92. package/out/src/index.d.ts +2 -0
  93. package/out/src/index.d.ts.map +1 -0
  94. package/out/src/index.js +18 -0
  95. package/out/src/index.js.map +1 -0
  96. package/out/src/index.mobile.d.ts +20 -0
  97. package/out/src/index.mobile.d.ts.map +1 -0
  98. package/out/src/index.mobile.js +59 -0
  99. package/out/src/index.mobile.js.map +1 -0
  100. package/out/src/monitor/Monitor.d.ts +148 -0
  101. package/out/src/monitor/Monitor.d.ts.map +1 -0
  102. package/out/src/monitor/Monitor.js +317 -0
  103. package/out/src/monitor/Monitor.js.map +1 -0
  104. package/out/src/monitor/MonitorDaemon.d.ts +38 -0
  105. package/out/src/monitor/MonitorDaemon.d.ts.map +1 -0
  106. package/out/src/monitor/MonitorDaemon.js +142 -0
  107. package/out/src/monitor/MonitorDaemon.js.map +1 -0
  108. package/out/src/monitor/__test/MonitorDaemon.man.test.d.ts +2 -0
  109. package/out/src/monitor/__test/MonitorDaemon.man.test.d.ts.map +1 -0
  110. package/out/src/monitor/__test/MonitorDaemon.man.test.js +41 -0
  111. package/out/src/monitor/__test/MonitorDaemon.man.test.js.map +1 -0
  112. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +53 -0
  113. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -0
  114. package/out/src/monitor/tasks/TaskCheckForProofs.js +213 -0
  115. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -0
  116. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +33 -0
  117. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -0
  118. package/out/src/monitor/tasks/TaskCheckNoSends.js +71 -0
  119. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -0
  120. package/out/src/monitor/tasks/TaskClock.d.ts +14 -0
  121. package/out/src/monitor/tasks/TaskClock.d.ts.map +1 -0
  122. package/out/src/monitor/tasks/TaskClock.js +28 -0
  123. package/out/src/monitor/tasks/TaskClock.js.map +1 -0
  124. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts +20 -0
  125. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -0
  126. package/out/src/monitor/tasks/TaskFailAbandoned.js +52 -0
  127. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -0
  128. package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts +12 -0
  129. package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts.map +1 -0
  130. package/out/src/monitor/tasks/TaskMonitorCallHistory.js +24 -0
  131. package/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +1 -0
  132. package/out/src/monitor/tasks/TaskNewHeader.d.ts +50 -0
  133. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -0
  134. package/out/src/monitor/tasks/TaskNewHeader.js +84 -0
  135. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -0
  136. package/out/src/monitor/tasks/TaskPurge.d.ts +45 -0
  137. package/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -0
  138. package/out/src/monitor/tasks/TaskPurge.js +34 -0
  139. package/out/src/monitor/tasks/TaskPurge.js.map +1 -0
  140. package/out/src/monitor/tasks/TaskReorg.d.ts +43 -0
  141. package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -0
  142. package/out/src/monitor/tasks/TaskReorg.js +82 -0
  143. package/out/src/monitor/tasks/TaskReorg.js.map +1 -0
  144. package/out/src/monitor/tasks/TaskReviewStatus.d.ts +26 -0
  145. package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -0
  146. package/out/src/monitor/tasks/TaskReviewStatus.js +43 -0
  147. package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -0
  148. package/out/src/monitor/tasks/TaskSendWaiting.d.ts +35 -0
  149. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -0
  150. package/out/src/monitor/tasks/TaskSendWaiting.js +117 -0
  151. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -0
  152. package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts +12 -0
  153. package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts.map +1 -0
  154. package/out/src/monitor/tasks/TaskSyncWhenIdle.js +22 -0
  155. package/out/src/monitor/tasks/TaskSyncWhenIdle.js.map +1 -0
  156. package/out/src/monitor/tasks/TaskUnFail.d.ts +41 -0
  157. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -0
  158. package/out/src/monitor/tasks/TaskUnFail.js +145 -0
  159. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -0
  160. package/out/src/monitor/tasks/WalletMonitorTask.d.ts +40 -0
  161. package/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +1 -0
  162. package/out/src/monitor/tasks/WalletMonitorTask.js +37 -0
  163. package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -0
  164. package/out/src/sdk/CertOpsWallet.d.ts +7 -0
  165. package/out/src/sdk/CertOpsWallet.d.ts.map +1 -0
  166. package/out/src/sdk/CertOpsWallet.js +3 -0
  167. package/out/src/sdk/CertOpsWallet.js.map +1 -0
  168. package/out/src/sdk/PrivilegedKeyManager.d.ts +125 -0
  169. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -0
  170. package/out/src/sdk/PrivilegedKeyManager.js +293 -0
  171. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -0
  172. package/out/src/sdk/WERR_errors.d.ts +136 -0
  173. package/out/src/sdk/WERR_errors.d.ts.map +1 -0
  174. package/out/src/sdk/WERR_errors.js +218 -0
  175. package/out/src/sdk/WERR_errors.js.map +1 -0
  176. package/out/src/sdk/WalletError.d.ts +63 -0
  177. package/out/src/sdk/WalletError.d.ts.map +1 -0
  178. package/out/src/sdk/WalletError.js +169 -0
  179. package/out/src/sdk/WalletError.js.map +1 -0
  180. package/out/src/sdk/WalletErrorFromJson.d.ts +12 -0
  181. package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -0
  182. package/out/src/sdk/WalletErrorFromJson.js +69 -0
  183. package/out/src/sdk/WalletErrorFromJson.js.map +1 -0
  184. package/out/src/sdk/WalletServices.interfaces.d.ts +618 -0
  185. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -0
  186. package/out/src/sdk/WalletServices.interfaces.js +3 -0
  187. package/out/src/sdk/WalletServices.interfaces.js.map +1 -0
  188. package/out/src/sdk/WalletSigner.interfaces.d.ts +10 -0
  189. package/out/src/sdk/WalletSigner.interfaces.d.ts.map +1 -0
  190. package/out/src/sdk/WalletSigner.interfaces.js +3 -0
  191. package/out/src/sdk/WalletSigner.interfaces.js.map +1 -0
  192. package/out/src/sdk/WalletStorage.interfaces.d.ts +522 -0
  193. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -0
  194. package/out/src/sdk/WalletStorage.interfaces.js +3 -0
  195. package/out/src/sdk/WalletStorage.interfaces.js.map +1 -0
  196. package/out/src/sdk/__test/CertificateLifeCycle.test.d.ts +2 -0
  197. package/out/src/sdk/__test/CertificateLifeCycle.test.d.ts.map +1 -0
  198. package/out/src/sdk/__test/CertificateLifeCycle.test.js +62 -0
  199. package/out/src/sdk/__test/CertificateLifeCycle.test.js.map +1 -0
  200. package/out/src/sdk/__test/PrivilegedKeyManager.test.d.ts +2 -0
  201. package/out/src/sdk/__test/PrivilegedKeyManager.test.d.ts.map +1 -0
  202. package/out/src/sdk/__test/PrivilegedKeyManager.test.js +647 -0
  203. package/out/src/sdk/__test/PrivilegedKeyManager.test.js.map +1 -0
  204. package/out/src/sdk/__test/WalletError.test.d.ts +2 -0
  205. package/out/src/sdk/__test/WalletError.test.d.ts.map +1 -0
  206. package/out/src/sdk/__test/WalletError.test.js +255 -0
  207. package/out/src/sdk/__test/WalletError.test.js.map +1 -0
  208. package/out/src/sdk/__test/validationHelpers.test.d.ts +2 -0
  209. package/out/src/sdk/__test/validationHelpers.test.d.ts.map +1 -0
  210. package/out/src/sdk/__test/validationHelpers.test.js +20 -0
  211. package/out/src/sdk/__test/validationHelpers.test.js.map +1 -0
  212. package/out/src/sdk/index.d.ts +11 -0
  213. package/out/src/sdk/index.d.ts.map +1 -0
  214. package/out/src/sdk/index.js +29 -0
  215. package/out/src/sdk/index.js.map +1 -0
  216. package/out/src/sdk/types.d.ts +169 -0
  217. package/out/src/sdk/types.d.ts.map +1 -0
  218. package/out/src/sdk/types.js +90 -0
  219. package/out/src/sdk/types.js.map +1 -0
  220. package/out/src/sdk/validationHelpers.d.ts +303 -0
  221. package/out/src/sdk/validationHelpers.d.ts.map +1 -0
  222. package/out/src/sdk/validationHelpers.js +632 -0
  223. package/out/src/sdk/validationHelpers.js.map +1 -0
  224. package/out/src/services/ServiceCollection.d.ts +79 -0
  225. package/out/src/services/ServiceCollection.d.ts.map +1 -0
  226. package/out/src/services/ServiceCollection.js +192 -0
  227. package/out/src/services/ServiceCollection.js.map +1 -0
  228. package/out/src/services/Services.d.ts +71 -0
  229. package/out/src/services/Services.d.ts.map +1 -0
  230. package/out/src/services/Services.js +532 -0
  231. package/out/src/services/Services.js.map +1 -0
  232. package/out/src/services/__tests/ARC.man.test.d.ts +2 -0
  233. package/out/src/services/__tests/ARC.man.test.d.ts.map +1 -0
  234. package/out/src/services/__tests/ARC.man.test.js +104 -0
  235. package/out/src/services/__tests/ARC.man.test.js.map +1 -0
  236. package/out/src/services/__tests/ARC.timeout.man.test.d.ts +2 -0
  237. package/out/src/services/__tests/ARC.timeout.man.test.d.ts.map +1 -0
  238. package/out/src/services/__tests/ARC.timeout.man.test.js +74 -0
  239. package/out/src/services/__tests/ARC.timeout.man.test.js.map +1 -0
  240. package/out/src/services/__tests/ArcGorillaPool.man.test.d.ts +2 -0
  241. package/out/src/services/__tests/ArcGorillaPool.man.test.d.ts.map +1 -0
  242. package/out/src/services/__tests/ArcGorillaPool.man.test.js +93 -0
  243. package/out/src/services/__tests/ArcGorillaPool.man.test.js.map +1 -0
  244. package/out/src/services/__tests/arcServices.test.d.ts +2 -0
  245. package/out/src/services/__tests/arcServices.test.d.ts.map +1 -0
  246. package/out/src/services/__tests/arcServices.test.js +7 -0
  247. package/out/src/services/__tests/arcServices.test.js.map +1 -0
  248. package/out/src/services/__tests/bitrails.test.d.ts +2 -0
  249. package/out/src/services/__tests/bitrails.test.d.ts.map +1 -0
  250. package/out/src/services/__tests/bitrails.test.js +53 -0
  251. package/out/src/services/__tests/bitrails.test.js.map +1 -0
  252. package/out/src/services/__tests/getMerklePath.test.d.ts +2 -0
  253. package/out/src/services/__tests/getMerklePath.test.d.ts.map +1 -0
  254. package/out/src/services/__tests/getMerklePath.test.js +16 -0
  255. package/out/src/services/__tests/getMerklePath.test.js.map +1 -0
  256. package/out/src/services/__tests/getRawTx.test.d.ts +2 -0
  257. package/out/src/services/__tests/getRawTx.test.d.ts.map +1 -0
  258. package/out/src/services/__tests/getRawTx.test.js +13 -0
  259. package/out/src/services/__tests/getRawTx.test.js.map +1 -0
  260. package/out/src/services/__tests/postBeef.test.d.ts +2 -0
  261. package/out/src/services/__tests/postBeef.test.d.ts.map +1 -0
  262. package/out/src/services/__tests/postBeef.test.js +101 -0
  263. package/out/src/services/__tests/postBeef.test.js.map +1 -0
  264. package/out/src/services/__tests/verifyBeef.test.d.ts +2 -0
  265. package/out/src/services/__tests/verifyBeef.test.d.ts.map +1 -0
  266. package/out/src/services/__tests/verifyBeef.test.js +43 -0
  267. package/out/src/services/__tests/verifyBeef.test.js.map +1 -0
  268. package/out/src/services/chaintracker/BHServiceClient.d.ts +39 -0
  269. package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -0
  270. package/out/src/services/chaintracker/BHServiceClient.js +174 -0
  271. package/out/src/services/chaintracker/BHServiceClient.js.map +1 -0
  272. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +15 -0
  273. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -0
  274. package/out/src/services/chaintracker/ChaintracksChainTracker.js +53 -0
  275. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -0
  276. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.d.ts +2 -0
  277. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.d.ts.map +1 -0
  278. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js +25 -0
  279. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js.map +1 -0
  280. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.d.ts +2 -0
  281. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.d.ts.map +1 -0
  282. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js +27 -0
  283. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js.map +1 -0
  284. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts +55 -0
  285. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -0
  286. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js +38 -0
  287. package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -0
  288. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts +70 -0
  289. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts.map +1 -0
  290. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.js +3 -0
  291. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.js.map +1 -0
  292. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts +81 -0
  293. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +1 -0
  294. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.js +3 -0
  295. package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.js.map +1 -0
  296. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +54 -0
  297. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -0
  298. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.js +3 -0
  299. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.js.map +1 -0
  300. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +163 -0
  301. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -0
  302. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.js +3 -0
  303. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.js.map +1 -0
  304. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +18 -0
  305. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +1 -0
  306. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.js +3 -0
  307. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.js.map +1 -0
  308. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.d.ts +55 -0
  309. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.d.ts.map +1 -0
  310. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.js +3 -0
  311. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.js.map +1 -0
  312. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +338 -0
  313. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -0
  314. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.js +3 -0
  315. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.js.map +1 -0
  316. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts +19 -0
  317. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts.map +1 -0
  318. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.js +3 -0
  319. package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.js.map +1 -0
  320. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +101 -0
  321. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -0
  322. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +550 -0
  323. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -0
  324. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +30 -0
  325. package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +1 -0
  326. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +157 -0
  327. package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -0
  328. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +38 -0
  329. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -0
  330. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +139 -0
  331. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -0
  332. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts +60 -0
  333. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -0
  334. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +119 -0
  335. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -0
  336. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts +76 -0
  337. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -0
  338. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +114 -0
  339. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -0
  340. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts +13 -0
  341. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -0
  342. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js +20 -0
  343. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -0
  344. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +62 -0
  345. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -0
  346. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +59 -0
  347. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -0
  348. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts +23 -0
  349. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -0
  350. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +57 -0
  351. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -0
  352. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts +62 -0
  353. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -0
  354. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +42 -0
  355. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -0
  356. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.d.ts +20 -0
  357. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.d.ts.map +1 -0
  358. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js +44 -0
  359. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js.map +1 -0
  360. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +51 -0
  361. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -0
  362. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +55 -0
  363. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -0
  364. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts +16 -0
  365. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -0
  366. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +53 -0
  367. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -0
  368. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +171 -0
  369. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -0
  370. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +501 -0
  371. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -0
  372. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +89 -0
  373. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -0
  374. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +137 -0
  375. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -0
  376. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.d.ts +2 -0
  377. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.d.ts.map +1 -0
  378. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.js +50 -0
  379. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/BulkIngestorCDNBabbage.test.js.map +1 -0
  380. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.d.ts +2 -0
  381. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.d.ts.map +1 -0
  382. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.js +34 -0
  383. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/LiveIngestorWhatsOnChainPoll.test.js.map +1 -0
  384. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.test.d.ts +2 -0
  385. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.test.d.ts.map +1 -0
  386. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.test.js +102 -0
  387. package/out/src/services/chaintracker/chaintracks/Ingest/__tests/WhatsOnChainServices.test.js.map +1 -0
  388. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts +23 -0
  389. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -0
  390. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +68 -0
  391. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -0
  392. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts +24 -0
  393. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts.map +1 -0
  394. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js +82 -0
  395. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -0
  396. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +68 -0
  397. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -0
  398. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +290 -0
  399. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -0
  400. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +92 -0
  401. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -0
  402. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +465 -0
  403. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -0
  404. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +62 -0
  405. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -0
  406. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +378 -0
  407. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -0
  408. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageMemory.d.ts +5 -0
  409. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageMemory.d.ts.map +1 -0
  410. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageMemory.js +24 -0
  411. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageMemory.js.map +1 -0
  412. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +37 -0
  413. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -0
  414. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +260 -0
  415. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -0
  416. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.d.ts +2 -0
  417. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.d.ts.map +1 -0
  418. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.js +81 -0
  419. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageIdb.test.js.map +1 -0
  420. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.d.ts +2 -0
  421. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.d.ts.map +1 -0
  422. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.js +39 -0
  423. package/out/src/services/chaintracker/chaintracks/Storage/__tests/ChaintracksStorageKnex.test.js.map +1 -0
  424. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.d.ts +2 -0
  425. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.d.ts.map +1 -0
  426. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js +67 -0
  427. package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js.map +1 -0
  428. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.d.ts +2 -0
  429. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.d.ts.map +1 -0
  430. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.js +160 -0
  431. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.js.map +1 -0
  432. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.d.ts +12 -0
  433. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.d.ts.map +1 -0
  434. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.js +69 -0
  435. package/out/src/services/chaintracker/chaintracks/__tests/LocalCdnServer.js.map +1 -0
  436. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.d.ts +2 -0
  437. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.d.ts.map +1 -0
  438. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.js +51 -0
  439. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.js.map +1 -0
  440. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts +5 -0
  441. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +1 -0
  442. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js +68 -0
  443. package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -0
  444. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts +12 -0
  445. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts.map +1 -0
  446. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js +85 -0
  447. package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js.map +1 -0
  448. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts +5 -0
  449. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -0
  450. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js +68 -0
  451. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -0
  452. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts +13 -0
  453. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -0
  454. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +27 -0
  455. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -0
  456. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.d.ts +14 -0
  457. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.d.ts.map +1 -0
  458. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js +27 -0
  459. package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js.map +1 -0
  460. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts +13 -0
  461. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -0
  462. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +27 -0
  463. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -0
  464. package/out/src/services/chaintracker/chaintracks/index.all.d.ts +10 -0
  465. package/out/src/services/chaintracker/chaintracks/index.all.d.ts.map +1 -0
  466. package/out/src/services/chaintracker/chaintracks/index.all.js +26 -0
  467. package/out/src/services/chaintracker/chaintracks/index.all.js.map +1 -0
  468. package/out/src/services/chaintracker/chaintracks/index.client.d.ts +4 -0
  469. package/out/src/services/chaintracker/chaintracks/index.client.d.ts.map +1 -0
  470. package/out/src/services/chaintracker/chaintracks/index.client.js +20 -0
  471. package/out/src/services/chaintracker/chaintracks/index.client.js.map +1 -0
  472. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +30 -0
  473. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +1 -0
  474. package/out/src/services/chaintracker/chaintracks/index.mobile.js +68 -0
  475. package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +1 -0
  476. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +155 -0
  477. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -0
  478. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +848 -0
  479. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -0
  480. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts +22 -0
  481. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +1 -0
  482. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +60 -0
  483. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -0
  484. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts +78 -0
  485. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -0
  486. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +261 -0
  487. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -0
  488. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +129 -0
  489. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -0
  490. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +145 -0
  491. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -0
  492. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +14 -0
  493. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -0
  494. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +67 -0
  495. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -0
  496. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts +47 -0
  497. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts.map +1 -0
  498. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js +120 -0
  499. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js.map +1 -0
  500. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts +90 -0
  501. package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -0
  502. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +140 -0
  503. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -0
  504. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +14 -0
  505. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -0
  506. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +88 -0
  507. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -0
  508. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.d.ts +2 -0
  509. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.d.ts.map +1 -0
  510. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.js +255 -0
  511. package/out/src/services/chaintracker/chaintracks/util/__tests/BulkFileDataManager.test.js.map +1 -0
  512. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.d.ts +2 -0
  513. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.d.ts.map +1 -0
  514. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.js +56 -0
  515. package/out/src/services/chaintracker/chaintracks/util/__tests/ChaintracksFetch.test.js.map +1 -0
  516. package/out/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.d.ts +2 -0
  517. package/out/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.d.ts.map +1 -0
  518. package/out/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.js +69 -0
  519. package/out/src/services/chaintracker/chaintracks/util/__tests/HeightRange.test.js.map +1 -0
  520. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.d.ts +2 -0
  521. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.d.ts.map +1 -0
  522. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.js +51 -0
  523. package/out/src/services/chaintracker/chaintracks/util/__tests/SingleWriterMultiReaderLock.test.js.map +1 -0
  524. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +159 -0
  525. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -0
  526. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +520 -0
  527. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -0
  528. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts +20 -0
  529. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts.map +1 -0
  530. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js +31 -0
  531. package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js.map +1 -0
  532. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts +37 -0
  533. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -0
  534. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +432 -0
  535. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -0
  536. package/out/src/services/chaintracker/index.all.d.ts +4 -0
  537. package/out/src/services/chaintracker/index.all.d.ts.map +1 -0
  538. package/out/src/services/chaintracker/index.all.js +20 -0
  539. package/out/src/services/chaintracker/index.all.js.map +1 -0
  540. package/out/src/services/chaintracker/index.client.d.ts +4 -0
  541. package/out/src/services/chaintracker/index.client.d.ts.map +1 -0
  542. package/out/src/services/chaintracker/index.client.js +20 -0
  543. package/out/src/services/chaintracker/index.client.js.map +1 -0
  544. package/out/src/services/chaintracker/index.mobile.d.ts +4 -0
  545. package/out/src/services/chaintracker/index.mobile.d.ts.map +1 -0
  546. package/out/src/services/chaintracker/index.mobile.js +20 -0
  547. package/out/src/services/chaintracker/index.mobile.js.map +1 -0
  548. package/out/src/services/createDefaultWalletServicesOptions.d.ts +7 -0
  549. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -0
  550. package/out/src/services/createDefaultWalletServicesOptions.js +65 -0
  551. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -0
  552. package/out/src/services/index.d.ts +2 -0
  553. package/out/src/services/index.d.ts.map +1 -0
  554. package/out/src/services/index.js +18 -0
  555. package/out/src/services/index.js.map +1 -0
  556. package/out/src/services/providers/ARC.d.ts +92 -0
  557. package/out/src/services/providers/ARC.d.ts.map +1 -0
  558. package/out/src/services/providers/ARC.js +270 -0
  559. package/out/src/services/providers/ARC.js.map +1 -0
  560. package/out/src/services/providers/Bitails.d.ts +50 -0
  561. package/out/src/services/providers/Bitails.d.ts.map +1 -0
  562. package/out/src/services/providers/Bitails.js +224 -0
  563. package/out/src/services/providers/Bitails.js.map +1 -0
  564. package/out/src/services/providers/SdkWhatsOnChain.d.ts +21 -0
  565. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -0
  566. package/out/src/services/providers/SdkWhatsOnChain.js +67 -0
  567. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -0
  568. package/out/src/services/providers/WhatsOnChain.d.ts +130 -0
  569. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -0
  570. package/out/src/services/providers/WhatsOnChain.js +679 -0
  571. package/out/src/services/providers/WhatsOnChain.js.map +1 -0
  572. package/out/src/services/providers/__tests/WhatsOnChain.test.d.ts +2 -0
  573. package/out/src/services/providers/__tests/WhatsOnChain.test.d.ts.map +1 -0
  574. package/out/src/services/providers/__tests/WhatsOnChain.test.js +191 -0
  575. package/out/src/services/providers/__tests/WhatsOnChain.test.js.map +1 -0
  576. package/out/src/services/providers/__tests/exchangeRates.test.d.ts +2 -0
  577. package/out/src/services/providers/__tests/exchangeRates.test.d.ts.map +1 -0
  578. package/out/src/services/providers/__tests/exchangeRates.test.js +19 -0
  579. package/out/src/services/providers/__tests/exchangeRates.test.js.map +1 -0
  580. package/out/src/services/providers/exchangeRates.d.ts +12 -0
  581. package/out/src/services/providers/exchangeRates.d.ts.map +1 -0
  582. package/out/src/services/providers/exchangeRates.js +237 -0
  583. package/out/src/services/providers/exchangeRates.js.map +1 -0
  584. package/out/src/services/providers/getBeefForTxid.d.ts +4 -0
  585. package/out/src/services/providers/getBeefForTxid.d.ts.map +1 -0
  586. package/out/src/services/providers/getBeefForTxid.js +286 -0
  587. package/out/src/services/providers/getBeefForTxid.js.map +1 -0
  588. package/out/src/signer/WalletSigner.d.ts +11 -0
  589. package/out/src/signer/WalletSigner.d.ts.map +1 -0
  590. package/out/src/signer/WalletSigner.js +13 -0
  591. package/out/src/signer/WalletSigner.js.map +1 -0
  592. package/out/src/signer/methods/acquireDirectCertificate.d.ts +5 -0
  593. package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -0
  594. package/out/src/signer/methods/acquireDirectCertificate.js +45 -0
  595. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -0
  596. package/out/src/signer/methods/buildSignableTransaction.d.ts +15 -0
  597. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -0
  598. package/out/src/signer/methods/buildSignableTransaction.js +142 -0
  599. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -0
  600. package/out/src/signer/methods/completeSignedTransaction.d.ts +10 -0
  601. package/out/src/signer/methods/completeSignedTransaction.d.ts.map +1 -0
  602. package/out/src/signer/methods/completeSignedTransaction.js +106 -0
  603. package/out/src/signer/methods/completeSignedTransaction.js.map +1 -0
  604. package/out/src/signer/methods/createAction.d.ts +14 -0
  605. package/out/src/signer/methods/createAction.d.ts.map +1 -0
  606. package/out/src/signer/methods/createAction.js +117 -0
  607. package/out/src/signer/methods/createAction.js.map +1 -0
  608. package/out/src/signer/methods/internalizeAction.d.ts +32 -0
  609. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -0
  610. package/out/src/signer/methods/internalizeAction.js +93 -0
  611. package/out/src/signer/methods/internalizeAction.js.map +1 -0
  612. package/out/src/signer/methods/proveCertificate.d.ts +5 -0
  613. package/out/src/signer/methods/proveCertificate.d.ts.map +1 -0
  614. package/out/src/signer/methods/proveCertificate.js +29 -0
  615. package/out/src/signer/methods/proveCertificate.js.map +1 -0
  616. package/out/src/signer/methods/signAction.d.ts +11 -0
  617. package/out/src/signer/methods/signAction.d.ts.map +1 -0
  618. package/out/src/signer/methods/signAction.js +41 -0
  619. package/out/src/signer/methods/signAction.js.map +1 -0
  620. package/out/src/storage/StorageIdb.d.ts +210 -0
  621. package/out/src/storage/StorageIdb.d.ts.map +1 -0
  622. package/out/src/storage/StorageIdb.js +2360 -0
  623. package/out/src/storage/StorageIdb.js.map +1 -0
  624. package/out/src/storage/StorageKnex.d.ts +178 -0
  625. package/out/src/storage/StorageKnex.d.ts.map +1 -0
  626. package/out/src/storage/StorageKnex.js +1218 -0
  627. package/out/src/storage/StorageKnex.js.map +1 -0
  628. package/out/src/storage/StorageProvider.d.ts +222 -0
  629. package/out/src/storage/StorageProvider.d.ts.map +1 -0
  630. package/out/src/storage/StorageProvider.js +567 -0
  631. package/out/src/storage/StorageProvider.js.map +1 -0
  632. package/out/src/storage/StorageReader.d.ts +77 -0
  633. package/out/src/storage/StorageReader.d.ts.map +1 -0
  634. package/out/src/storage/StorageReader.js +163 -0
  635. package/out/src/storage/StorageReader.js.map +1 -0
  636. package/out/src/storage/StorageReaderWriter.d.ts +102 -0
  637. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -0
  638. package/out/src/storage/StorageReaderWriter.js +338 -0
  639. package/out/src/storage/StorageReaderWriter.js.map +1 -0
  640. package/out/src/storage/StorageSyncReader.d.ts +18 -0
  641. package/out/src/storage/StorageSyncReader.d.ts.map +1 -0
  642. package/out/src/storage/StorageSyncReader.js +71 -0
  643. package/out/src/storage/StorageSyncReader.js.map +1 -0
  644. package/out/src/storage/WalletStorageManager.d.ts +221 -0
  645. package/out/src/storage/WalletStorageManager.d.ts.map +1 -0
  646. package/out/src/storage/WalletStorageManager.js +819 -0
  647. package/out/src/storage/WalletStorageManager.js.map +1 -0
  648. package/out/src/storage/__test/StorageIdb.test.d.ts +2 -0
  649. package/out/src/storage/__test/StorageIdb.test.d.ts.map +1 -0
  650. package/out/src/storage/__test/StorageIdb.test.js +44 -0
  651. package/out/src/storage/__test/StorageIdb.test.js.map +1 -0
  652. package/out/src/storage/__test/WalletStorageManager.test.d.ts +2 -0
  653. package/out/src/storage/__test/WalletStorageManager.test.d.ts.map +1 -0
  654. package/out/src/storage/__test/WalletStorageManager.test.js +254 -0
  655. package/out/src/storage/__test/WalletStorageManager.test.js.map +1 -0
  656. package/out/src/storage/__test/adminStats.man.test.d.ts +2 -0
  657. package/out/src/storage/__test/adminStats.man.test.d.ts.map +1 -0
  658. package/out/src/storage/__test/adminStats.man.test.js +78 -0
  659. package/out/src/storage/__test/adminStats.man.test.js.map +1 -0
  660. package/out/src/storage/__test/getBeefForTransaction.test.d.ts +2 -0
  661. package/out/src/storage/__test/getBeefForTransaction.test.d.ts.map +1 -0
  662. package/out/src/storage/__test/getBeefForTransaction.test.js +300 -0
  663. package/out/src/storage/__test/getBeefForTransaction.test.js.map +1 -0
  664. package/out/src/storage/index.all.d.ts +12 -0
  665. package/out/src/storage/index.all.d.ts.map +1 -0
  666. package/out/src/storage/index.all.js +51 -0
  667. package/out/src/storage/index.all.js.map +1 -0
  668. package/out/src/storage/index.client.d.ts +8 -0
  669. package/out/src/storage/index.client.d.ts.map +1 -0
  670. package/out/src/storage/index.client.js +24 -0
  671. package/out/src/storage/index.client.js.map +1 -0
  672. package/out/src/storage/index.mobile.d.ts +7 -0
  673. package/out/src/storage/index.mobile.d.ts.map +1 -0
  674. package/out/src/storage/index.mobile.js +23 -0
  675. package/out/src/storage/index.mobile.js.map +1 -0
  676. package/out/src/storage/methods/ListActionsSpecOp.d.ts +18 -0
  677. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -0
  678. package/out/src/storage/methods/ListActionsSpecOp.js +40 -0
  679. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -0
  680. package/out/src/storage/methods/ListOutputsSpecOp.d.ts +26 -0
  681. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -0
  682. package/out/src/storage/methods/ListOutputsSpecOp.js +75 -0
  683. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -0
  684. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.d.ts +2 -0
  685. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.d.ts.map +1 -0
  686. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js +959 -0
  687. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js.map +1 -0
  688. package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.d.ts +2 -0
  689. package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.d.ts.map +1 -0
  690. package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.js +24 -0
  691. package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.js.map +1 -0
  692. package/out/src/storage/methods/__test/offsetKey.test.d.ts +2 -0
  693. package/out/src/storage/methods/__test/offsetKey.test.d.ts.map +1 -0
  694. package/out/src/storage/methods/__test/offsetKey.test.js +216 -0
  695. package/out/src/storage/methods/__test/offsetKey.test.js.map +1 -0
  696. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +41 -0
  697. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -0
  698. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +324 -0
  699. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -0
  700. package/out/src/storage/methods/createAction.d.ts +13 -0
  701. package/out/src/storage/methods/createAction.d.ts.map +1 -0
  702. package/out/src/storage/methods/createAction.js +747 -0
  703. package/out/src/storage/methods/createAction.js.map +1 -0
  704. package/out/src/storage/methods/generateChange.d.ts +96 -0
  705. package/out/src/storage/methods/generateChange.d.ts.map +1 -0
  706. package/out/src/storage/methods/generateChange.js +405 -0
  707. package/out/src/storage/methods/generateChange.js.map +1 -0
  708. package/out/src/storage/methods/getBeefForTransaction.d.ts +23 -0
  709. package/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -0
  710. package/out/src/storage/methods/getBeefForTransaction.js +109 -0
  711. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -0
  712. package/out/src/storage/methods/getSyncChunk.d.ts +10 -0
  713. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -0
  714. package/out/src/storage/methods/getSyncChunk.js +272 -0
  715. package/out/src/storage/methods/getSyncChunk.js.map +1 -0
  716. package/out/src/storage/methods/internalizeAction.d.ts +31 -0
  717. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -0
  718. package/out/src/storage/methods/internalizeAction.js +462 -0
  719. package/out/src/storage/methods/internalizeAction.js.map +1 -0
  720. package/out/src/storage/methods/listActionsIdb.d.ts +5 -0
  721. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -0
  722. package/out/src/storage/methods/listActionsIdb.js +155 -0
  723. package/out/src/storage/methods/listActionsIdb.js.map +1 -0
  724. package/out/src/storage/methods/listActionsKnex.d.ts +5 -0
  725. package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -0
  726. package/out/src/storage/methods/listActionsKnex.js +198 -0
  727. package/out/src/storage/methods/listActionsKnex.js.map +1 -0
  728. package/out/src/storage/methods/listCertificates.d.ts +5 -0
  729. package/out/src/storage/methods/listCertificates.d.ts.map +1 -0
  730. package/out/src/storage/methods/listCertificates.js +68 -0
  731. package/out/src/storage/methods/listCertificates.js.map +1 -0
  732. package/out/src/storage/methods/listOutputsIdb.d.ts +5 -0
  733. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -0
  734. package/out/src/storage/methods/listOutputsIdb.js +185 -0
  735. package/out/src/storage/methods/listOutputsIdb.js.map +1 -0
  736. package/out/src/storage/methods/listOutputsKnex.d.ts +5 -0
  737. package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -0
  738. package/out/src/storage/methods/listOutputsKnex.js +241 -0
  739. package/out/src/storage/methods/listOutputsKnex.js.map +1 -0
  740. package/out/src/storage/methods/offsetKey.d.ts +24 -0
  741. package/out/src/storage/methods/offsetKey.d.ts.map +1 -0
  742. package/out/src/storage/methods/offsetKey.js +67 -0
  743. package/out/src/storage/methods/offsetKey.js.map +1 -0
  744. package/out/src/storage/methods/processAction.d.ts +54 -0
  745. package/out/src/storage/methods/processAction.d.ts.map +1 -0
  746. package/out/src/storage/methods/processAction.js +267 -0
  747. package/out/src/storage/methods/processAction.js.map +1 -0
  748. package/out/src/storage/methods/purgeData.d.ts +4 -0
  749. package/out/src/storage/methods/purgeData.d.ts.map +1 -0
  750. package/out/src/storage/methods/purgeData.js +207 -0
  751. package/out/src/storage/methods/purgeData.js.map +1 -0
  752. package/out/src/storage/methods/purgeDataIdb.d.ts +4 -0
  753. package/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -0
  754. package/out/src/storage/methods/purgeDataIdb.js +9 -0
  755. package/out/src/storage/methods/purgeDataIdb.js.map +1 -0
  756. package/out/src/storage/methods/reviewStatus.d.ts +20 -0
  757. package/out/src/storage/methods/reviewStatus.d.ts.map +1 -0
  758. package/out/src/storage/methods/reviewStatus.js +84 -0
  759. package/out/src/storage/methods/reviewStatus.js.map +1 -0
  760. package/out/src/storage/methods/reviewStatusIdb.d.ts +20 -0
  761. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -0
  762. package/out/src/storage/methods/reviewStatusIdb.js +35 -0
  763. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -0
  764. package/out/src/storage/methods/utils.Buffer.d.ts +21 -0
  765. package/out/src/storage/methods/utils.Buffer.d.ts.map +1 -0
  766. package/out/src/storage/methods/utils.Buffer.js +37 -0
  767. package/out/src/storage/methods/utils.Buffer.js.map +1 -0
  768. package/out/src/storage/methods/utils.d.ts +25 -0
  769. package/out/src/storage/methods/utils.d.ts.map +1 -0
  770. package/out/src/storage/methods/utils.js +53 -0
  771. package/out/src/storage/methods/utils.js.map +1 -0
  772. package/out/src/storage/remoting/StorageClient.d.ts +292 -0
  773. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -0
  774. package/out/src/storage/remoting/StorageClient.js +497 -0
  775. package/out/src/storage/remoting/StorageClient.js.map +1 -0
  776. package/out/src/storage/remoting/StorageMobile.d.ts +292 -0
  777. package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -0
  778. package/out/src/storage/remoting/StorageMobile.js +477 -0
  779. package/out/src/storage/remoting/StorageMobile.js.map +1 -0
  780. package/out/src/storage/remoting/StorageServer.d.ts +48 -0
  781. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -0
  782. package/out/src/storage/remoting/StorageServer.js +279 -0
  783. package/out/src/storage/remoting/StorageServer.js.map +1 -0
  784. package/out/src/storage/remoting/__test/StorageClient.test.d.ts +2 -0
  785. package/out/src/storage/remoting/__test/StorageClient.test.d.ts.map +1 -0
  786. package/out/src/storage/remoting/__test/StorageClient.test.js +98 -0
  787. package/out/src/storage/remoting/__test/StorageClient.test.js.map +1 -0
  788. package/out/src/storage/schema/KnexMigrations.d.ts +39 -0
  789. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -0
  790. package/out/src/storage/schema/KnexMigrations.js +458 -0
  791. package/out/src/storage/schema/KnexMigrations.js.map +1 -0
  792. package/out/src/storage/schema/StorageIdbSchema.d.ts +133 -0
  793. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -0
  794. package/out/src/storage/schema/StorageIdbSchema.js +3 -0
  795. package/out/src/storage/schema/StorageIdbSchema.js.map +1 -0
  796. package/out/src/storage/schema/entities/EntityBase.d.ts +106 -0
  797. package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -0
  798. package/out/src/storage/schema/entities/EntityBase.js +100 -0
  799. package/out/src/storage/schema/entities/EntityBase.js.map +1 -0
  800. package/out/src/storage/schema/entities/EntityCertificate.d.ts +44 -0
  801. package/out/src/storage/schema/entities/EntityCertificate.d.ts.map +1 -0
  802. package/out/src/storage/schema/entities/EntityCertificate.js +162 -0
  803. package/out/src/storage/schema/entities/EntityCertificate.js.map +1 -0
  804. package/out/src/storage/schema/entities/EntityCertificateField.d.ts +33 -0
  805. package/out/src/storage/schema/entities/EntityCertificateField.d.ts.map +1 -0
  806. package/out/src/storage/schema/entities/EntityCertificateField.js +112 -0
  807. package/out/src/storage/schema/entities/EntityCertificateField.js.map +1 -0
  808. package/out/src/storage/schema/entities/EntityCommission.d.ts +38 -0
  809. package/out/src/storage/schema/entities/EntityCommission.d.ts.map +1 -0
  810. package/out/src/storage/schema/entities/EntityCommission.js +127 -0
  811. package/out/src/storage/schema/entities/EntityCommission.js.map +1 -0
  812. package/out/src/storage/schema/entities/EntityOutput.d.ts +68 -0
  813. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -0
  814. package/out/src/storage/schema/entities/EntityOutput.js +264 -0
  815. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -0
  816. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts +36 -0
  817. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -0
  818. package/out/src/storage/schema/entities/EntityOutputBasket.js +133 -0
  819. package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -0
  820. package/out/src/storage/schema/entities/EntityOutputTag.d.ts +32 -0
  821. package/out/src/storage/schema/entities/EntityOutputTag.d.ts.map +1 -0
  822. package/out/src/storage/schema/entities/EntityOutputTag.js +104 -0
  823. package/out/src/storage/schema/entities/EntityOutputTag.js.map +1 -0
  824. package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts +29 -0
  825. package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts.map +1 -0
  826. package/out/src/storage/schema/entities/EntityOutputTagMap.js +98 -0
  827. package/out/src/storage/schema/entities/EntityOutputTagMap.js.map +1 -0
  828. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +87 -0
  829. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -0
  830. package/out/src/storage/schema/entities/EntityProvenTx.js +278 -0
  831. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -0
  832. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts +139 -0
  833. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts.map +1 -0
  834. package/out/src/storage/schema/entities/EntityProvenTxReq.js +524 -0
  835. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -0
  836. package/out/src/storage/schema/entities/EntitySyncState.d.ts +69 -0
  837. package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -0
  838. package/out/src/storage/schema/entities/EntitySyncState.js +334 -0
  839. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -0
  840. package/out/src/storage/schema/entities/EntityTransaction.d.ts +71 -0
  841. package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -0
  842. package/out/src/storage/schema/entities/EntityTransaction.js +255 -0
  843. package/out/src/storage/schema/entities/EntityTransaction.js.map +1 -0
  844. package/out/src/storage/schema/entities/EntityTxLabel.d.ts +32 -0
  845. package/out/src/storage/schema/entities/EntityTxLabel.d.ts.map +1 -0
  846. package/out/src/storage/schema/entities/EntityTxLabel.js +104 -0
  847. package/out/src/storage/schema/entities/EntityTxLabel.js.map +1 -0
  848. package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts +29 -0
  849. package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts.map +1 -0
  850. package/out/src/storage/schema/entities/EntityTxLabelMap.js +98 -0
  851. package/out/src/storage/schema/entities/EntityTxLabelMap.js.map +1 -0
  852. package/out/src/storage/schema/entities/EntityUser.d.ts +30 -0
  853. package/out/src/storage/schema/entities/EntityUser.d.ts.map +1 -0
  854. package/out/src/storage/schema/entities/EntityUser.js +99 -0
  855. package/out/src/storage/schema/entities/EntityUser.js.map +1 -0
  856. package/out/src/storage/schema/entities/MergeEntity.d.ts +34 -0
  857. package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -0
  858. package/out/src/storage/schema/entities/MergeEntity.js +63 -0
  859. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -0
  860. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.d.ts +2 -0
  861. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.d.ts.map +1 -0
  862. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.js +301 -0
  863. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.js.map +1 -0
  864. package/out/src/storage/schema/entities/__tests/CertificateTests.test.d.ts +2 -0
  865. package/out/src/storage/schema/entities/__tests/CertificateTests.test.d.ts.map +1 -0
  866. package/out/src/storage/schema/entities/__tests/CertificateTests.test.js +308 -0
  867. package/out/src/storage/schema/entities/__tests/CertificateTests.test.js.map +1 -0
  868. package/out/src/storage/schema/entities/__tests/CommissionTests.test.d.ts +2 -0
  869. package/out/src/storage/schema/entities/__tests/CommissionTests.test.d.ts.map +1 -0
  870. package/out/src/storage/schema/entities/__tests/CommissionTests.test.js +316 -0
  871. package/out/src/storage/schema/entities/__tests/CommissionTests.test.js.map +1 -0
  872. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.d.ts +2 -0
  873. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.d.ts.map +1 -0
  874. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.js +228 -0
  875. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.js.map +1 -0
  876. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.d.ts +2 -0
  877. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.d.ts.map +1 -0
  878. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.js +191 -0
  879. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.js.map +1 -0
  880. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.d.ts +2 -0
  881. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.d.ts.map +1 -0
  882. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.js +226 -0
  883. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.js.map +1 -0
  884. package/out/src/storage/schema/entities/__tests/OutputTests.test.d.ts +2 -0
  885. package/out/src/storage/schema/entities/__tests/OutputTests.test.d.ts.map +1 -0
  886. package/out/src/storage/schema/entities/__tests/OutputTests.test.js +413 -0
  887. package/out/src/storage/schema/entities/__tests/OutputTests.test.js.map +1 -0
  888. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.d.ts +2 -0
  889. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.d.ts.map +1 -0
  890. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.js +299 -0
  891. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.js.map +1 -0
  892. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.d.ts +2 -0
  893. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.d.ts.map +1 -0
  894. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js +470 -0
  895. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js.map +1 -0
  896. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.d.ts +2 -0
  897. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.d.ts.map +1 -0
  898. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.js +234 -0
  899. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.js.map +1 -0
  900. package/out/src/storage/schema/entities/__tests/TransactionTests.test.d.ts +2 -0
  901. package/out/src/storage/schema/entities/__tests/TransactionTests.test.d.ts.map +1 -0
  902. package/out/src/storage/schema/entities/__tests/TransactionTests.test.js +539 -0
  903. package/out/src/storage/schema/entities/__tests/TransactionTests.test.js.map +1 -0
  904. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.d.ts +2 -0
  905. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.d.ts.map +1 -0
  906. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.js +304 -0
  907. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.js.map +1 -0
  908. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.d.ts +2 -0
  909. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.d.ts.map +1 -0
  910. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.js +170 -0
  911. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.js.map +1 -0
  912. package/out/src/storage/schema/entities/__tests/stampLogTests.test.d.ts +2 -0
  913. package/out/src/storage/schema/entities/__tests/stampLogTests.test.d.ts.map +1 -0
  914. package/out/src/storage/schema/entities/__tests/stampLogTests.test.js +81 -0
  915. package/out/src/storage/schema/entities/__tests/stampLogTests.test.js.map +1 -0
  916. package/out/src/storage/schema/entities/__tests/usersTests.test.d.ts +2 -0
  917. package/out/src/storage/schema/entities/__tests/usersTests.test.d.ts.map +1 -0
  918. package/out/src/storage/schema/entities/__tests/usersTests.test.js +277 -0
  919. package/out/src/storage/schema/entities/__tests/usersTests.test.js.map +1 -0
  920. package/out/src/storage/schema/entities/index.d.ts +17 -0
  921. package/out/src/storage/schema/entities/index.d.ts.map +1 -0
  922. package/out/src/storage/schema/entities/index.js +33 -0
  923. package/out/src/storage/schema/entities/index.js.map +1 -0
  924. package/out/src/storage/schema/tables/TableCertificate.d.ts +20 -0
  925. package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -0
  926. package/out/src/storage/schema/tables/TableCertificate.js +3 -0
  927. package/out/src/storage/schema/tables/TableCertificate.js.map +1 -0
  928. package/out/src/storage/schema/tables/TableCertificateField.d.ts +12 -0
  929. package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -0
  930. package/out/src/storage/schema/tables/TableCertificateField.js +3 -0
  931. package/out/src/storage/schema/tables/TableCertificateField.js.map +1 -0
  932. package/out/src/storage/schema/tables/TableCommission.d.ts +13 -0
  933. package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -0
  934. package/out/src/storage/schema/tables/TableCommission.js +3 -0
  935. package/out/src/storage/schema/tables/TableCommission.js.map +1 -0
  936. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +9 -0
  937. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -0
  938. package/out/src/storage/schema/tables/TableMonitorEvent.js +3 -0
  939. package/out/src/storage/schema/tables/TableMonitorEvent.js.map +1 -0
  940. package/out/src/storage/schema/tables/TableOutput.d.ts +36 -0
  941. package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -0
  942. package/out/src/storage/schema/tables/TableOutput.js +31 -0
  943. package/out/src/storage/schema/tables/TableOutput.js.map +1 -0
  944. package/out/src/storage/schema/tables/TableOutputBasket.d.ts +12 -0
  945. package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -0
  946. package/out/src/storage/schema/tables/TableOutputBasket.js +3 -0
  947. package/out/src/storage/schema/tables/TableOutputBasket.js.map +1 -0
  948. package/out/src/storage/schema/tables/TableOutputTag.d.ts +10 -0
  949. package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -0
  950. package/out/src/storage/schema/tables/TableOutputTag.js +3 -0
  951. package/out/src/storage/schema/tables/TableOutputTag.js.map +1 -0
  952. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +9 -0
  953. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -0
  954. package/out/src/storage/schema/tables/TableOutputTagMap.js +3 -0
  955. package/out/src/storage/schema/tables/TableOutputTagMap.js.map +1 -0
  956. package/out/src/storage/schema/tables/TableProvenTx.d.ts +14 -0
  957. package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -0
  958. package/out/src/storage/schema/tables/TableProvenTx.js +3 -0
  959. package/out/src/storage/schema/tables/TableProvenTx.js.map +1 -0
  960. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +64 -0
  961. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -0
  962. package/out/src/storage/schema/tables/TableProvenTxReq.js +3 -0
  963. package/out/src/storage/schema/tables/TableProvenTxReq.js.map +1 -0
  964. package/out/src/storage/schema/tables/TableSettings.d.ts +17 -0
  965. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -0
  966. package/out/src/storage/schema/tables/TableSettings.js +3 -0
  967. package/out/src/storage/schema/tables/TableSettings.js.map +1 -0
  968. package/out/src/storage/schema/tables/TableSyncState.d.ts +18 -0
  969. package/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -0
  970. package/out/src/storage/schema/tables/TableSyncState.js +3 -0
  971. package/out/src/storage/schema/tables/TableSyncState.js.map +1 -0
  972. package/out/src/storage/schema/tables/TableTransaction.d.ts +37 -0
  973. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -0
  974. package/out/src/storage/schema/tables/TableTransaction.js +21 -0
  975. package/out/src/storage/schema/tables/TableTransaction.js.map +1 -0
  976. package/out/src/storage/schema/tables/TableTxLabel.d.ts +10 -0
  977. package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -0
  978. package/out/src/storage/schema/tables/TableTxLabel.js +3 -0
  979. package/out/src/storage/schema/tables/TableTxLabel.js.map +1 -0
  980. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +9 -0
  981. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -0
  982. package/out/src/storage/schema/tables/TableTxLabelMap.js +3 -0
  983. package/out/src/storage/schema/tables/TableTxLabelMap.js.map +1 -0
  984. package/out/src/storage/schema/tables/TableUser.d.ts +16 -0
  985. package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -0
  986. package/out/src/storage/schema/tables/TableUser.js +3 -0
  987. package/out/src/storage/schema/tables/TableUser.js.map +1 -0
  988. package/out/src/storage/schema/tables/index.d.ts +17 -0
  989. package/out/src/storage/schema/tables/index.d.ts.map +1 -0
  990. package/out/src/storage/schema/tables/index.js +33 -0
  991. package/out/src/storage/schema/tables/index.js.map +1 -0
  992. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts +88 -0
  993. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -0
  994. package/out/src/storage/sync/StorageMySQLDojoReader.js +612 -0
  995. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -0
  996. package/out/src/storage/sync/index.d.ts +2 -0
  997. package/out/src/storage/sync/index.d.ts.map +1 -0
  998. package/out/src/storage/sync/index.js +18 -0
  999. package/out/src/storage/sync/index.js.map +1 -0
  1000. package/out/src/utility/Format.d.ts +14 -0
  1001. package/out/src/utility/Format.d.ts.map +1 -0
  1002. package/out/src/utility/Format.js +167 -0
  1003. package/out/src/utility/Format.js.map +1 -0
  1004. package/out/src/utility/ReaderUint8Array.d.ts +28 -0
  1005. package/out/src/utility/ReaderUint8Array.d.ts.map +1 -0
  1006. package/out/src/utility/ReaderUint8Array.js +166 -0
  1007. package/out/src/utility/ReaderUint8Array.js.map +1 -0
  1008. package/out/src/utility/ScriptTemplateBRC29.d.ts +25 -0
  1009. package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -0
  1010. package/out/src/utility/ScriptTemplateBRC29.js +48 -0
  1011. package/out/src/utility/ScriptTemplateBRC29.js.map +1 -0
  1012. package/out/src/utility/__tests/utilityHelpers.noBuffer.test.d.ts +2 -0
  1013. package/out/src/utility/__tests/utilityHelpers.noBuffer.test.d.ts.map +1 -0
  1014. package/out/src/utility/__tests/utilityHelpers.noBuffer.test.js +107 -0
  1015. package/out/src/utility/__tests/utilityHelpers.noBuffer.test.js.map +1 -0
  1016. package/out/src/utility/aggregateResults.d.ts +8 -0
  1017. package/out/src/utility/aggregateResults.d.ts.map +1 -0
  1018. package/out/src/utility/aggregateResults.js +59 -0
  1019. package/out/src/utility/aggregateResults.js.map +1 -0
  1020. package/out/src/utility/identityUtils.d.ts +31 -0
  1021. package/out/src/utility/identityUtils.d.ts.map +1 -0
  1022. package/out/src/utility/identityUtils.js +116 -0
  1023. package/out/src/utility/identityUtils.js.map +1 -0
  1024. package/out/src/utility/index.all.d.ts +7 -0
  1025. package/out/src/utility/index.all.d.ts.map +1 -0
  1026. package/out/src/utility/index.all.js +23 -0
  1027. package/out/src/utility/index.all.js.map +1 -0
  1028. package/out/src/utility/index.client.d.ts +7 -0
  1029. package/out/src/utility/index.client.d.ts.map +1 -0
  1030. package/out/src/utility/index.client.js +23 -0
  1031. package/out/src/utility/index.client.js.map +1 -0
  1032. package/out/src/utility/parseTxScriptOffsets.d.ts +14 -0
  1033. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -0
  1034. package/out/src/utility/parseTxScriptOffsets.js +26 -0
  1035. package/out/src/utility/parseTxScriptOffsets.js.map +1 -0
  1036. package/out/src/utility/stampLog.d.ts +18 -0
  1037. package/out/src/utility/stampLog.d.ts.map +1 -0
  1038. package/out/src/utility/stampLog.js +72 -0
  1039. package/out/src/utility/stampLog.js.map +1 -0
  1040. package/out/src/utility/tscProofToMerklePath.d.ts +8 -0
  1041. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -0
  1042. package/out/src/utility/tscProofToMerklePath.js +41 -0
  1043. package/out/src/utility/tscProofToMerklePath.js.map +1 -0
  1044. package/out/src/utility/utilityHelpers.buffer.d.ts +18 -0
  1045. package/out/src/utility/utilityHelpers.buffer.d.ts.map +1 -0
  1046. package/out/src/utility/utilityHelpers.buffer.js +45 -0
  1047. package/out/src/utility/utilityHelpers.buffer.js.map +1 -0
  1048. package/out/src/utility/utilityHelpers.d.ts +138 -0
  1049. package/out/src/utility/utilityHelpers.d.ts.map +1 -0
  1050. package/out/src/utility/utilityHelpers.js +294 -0
  1051. package/out/src/utility/utilityHelpers.js.map +1 -0
  1052. package/out/src/utility/utilityHelpers.noBuffer.d.ts +26 -0
  1053. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -0
  1054. package/out/src/utility/utilityHelpers.noBuffer.js +64 -0
  1055. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -0
  1056. package/out/src/wab-client/WABClient.d.ts +49 -0
  1057. package/out/src/wab-client/WABClient.d.ts.map +1 -0
  1058. package/out/src/wab-client/WABClient.js +80 -0
  1059. package/out/src/wab-client/WABClient.js.map +1 -0
  1060. package/out/src/wab-client/__tests/WABClient.man.test.d.ts +2 -0
  1061. package/out/src/wab-client/__tests/WABClient.man.test.d.ts.map +1 -0
  1062. package/out/src/wab-client/__tests/WABClient.man.test.js +52 -0
  1063. package/out/src/wab-client/__tests/WABClient.man.test.js.map +1 -0
  1064. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +34 -0
  1065. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -0
  1066. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +16 -0
  1067. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -0
  1068. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.d.ts +29 -0
  1069. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.d.ts.map +1 -0
  1070. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js +70 -0
  1071. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js.map +1 -0
  1072. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts +7 -0
  1073. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts.map +1 -0
  1074. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js +36 -0
  1075. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js.map +1 -0
  1076. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts +28 -0
  1077. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts.map +1 -0
  1078. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +69 -0
  1079. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +1 -0
  1080. package/out/test/Wallet/StorageClient/storageClient.man.test.d.ts +2 -0
  1081. package/out/test/Wallet/StorageClient/storageClient.man.test.d.ts.map +1 -0
  1082. package/out/test/Wallet/StorageClient/storageClient.man.test.js +64 -0
  1083. package/out/test/Wallet/StorageClient/storageClient.man.test.js.map +1 -0
  1084. package/out/test/Wallet/action/abortAction.test.d.ts +2 -0
  1085. package/out/test/Wallet/action/abortAction.test.d.ts.map +1 -0
  1086. package/out/test/Wallet/action/abortAction.test.js +44 -0
  1087. package/out/test/Wallet/action/abortAction.test.js.map +1 -0
  1088. package/out/test/Wallet/action/createAction.test.d.ts +2 -0
  1089. package/out/test/Wallet/action/createAction.test.d.ts.map +1 -0
  1090. package/out/test/Wallet/action/createAction.test.js +272 -0
  1091. package/out/test/Wallet/action/createAction.test.js.map +1 -0
  1092. package/out/test/Wallet/action/createAction2.test.d.ts +37 -0
  1093. package/out/test/Wallet/action/createAction2.test.d.ts.map +1 -0
  1094. package/out/test/Wallet/action/createAction2.test.js +1143 -0
  1095. package/out/test/Wallet/action/createAction2.test.js.map +1 -0
  1096. package/out/test/Wallet/action/createActionToGenerateBeefs.man.test.d.ts +2 -0
  1097. package/out/test/Wallet/action/createActionToGenerateBeefs.man.test.d.ts.map +1 -0
  1098. package/out/test/Wallet/action/createActionToGenerateBeefs.man.test.js +273 -0
  1099. package/out/test/Wallet/action/createActionToGenerateBeefs.man.test.js.map +1 -0
  1100. package/out/test/Wallet/action/internalizeAction.a.test.d.ts +2 -0
  1101. package/out/test/Wallet/action/internalizeAction.a.test.d.ts.map +1 -0
  1102. package/out/test/Wallet/action/internalizeAction.a.test.js +243 -0
  1103. package/out/test/Wallet/action/internalizeAction.a.test.js.map +1 -0
  1104. package/out/test/Wallet/action/internalizeAction.test.d.ts +2 -0
  1105. package/out/test/Wallet/action/internalizeAction.test.d.ts.map +1 -0
  1106. package/out/test/Wallet/action/internalizeAction.test.js +608 -0
  1107. package/out/test/Wallet/action/internalizeAction.test.js.map +1 -0
  1108. package/out/test/Wallet/action/relinquishOutput.test.d.ts +2 -0
  1109. package/out/test/Wallet/action/relinquishOutput.test.d.ts.map +1 -0
  1110. package/out/test/Wallet/action/relinquishOutput.test.js +31 -0
  1111. package/out/test/Wallet/action/relinquishOutput.test.js.map +1 -0
  1112. package/out/test/Wallet/certificate/acquireCertificate.test.d.ts +2 -0
  1113. package/out/test/Wallet/certificate/acquireCertificate.test.d.ts.map +1 -0
  1114. package/out/test/Wallet/certificate/acquireCertificate.test.js +210 -0
  1115. package/out/test/Wallet/certificate/acquireCertificate.test.js.map +1 -0
  1116. package/out/test/Wallet/certificate/listCertificates.test.d.ts +2 -0
  1117. package/out/test/Wallet/certificate/listCertificates.test.d.ts.map +1 -0
  1118. package/out/test/Wallet/certificate/listCertificates.test.js +305 -0
  1119. package/out/test/Wallet/certificate/listCertificates.test.js.map +1 -0
  1120. package/out/test/Wallet/construct/Wallet.constructor.test.d.ts +2 -0
  1121. package/out/test/Wallet/construct/Wallet.constructor.test.d.ts.map +1 -0
  1122. package/out/test/Wallet/construct/Wallet.constructor.test.js +49 -0
  1123. package/out/test/Wallet/construct/Wallet.constructor.test.js.map +1 -0
  1124. package/out/test/Wallet/get/getHeaderForHeight.test.d.ts +2 -0
  1125. package/out/test/Wallet/get/getHeaderForHeight.test.d.ts.map +1 -0
  1126. package/out/test/Wallet/get/getHeaderForHeight.test.js +74 -0
  1127. package/out/test/Wallet/get/getHeaderForHeight.test.js.map +1 -0
  1128. package/out/test/Wallet/get/getHeight.test.d.ts +2 -0
  1129. package/out/test/Wallet/get/getHeight.test.d.ts.map +1 -0
  1130. package/out/test/Wallet/get/getHeight.test.js +48 -0
  1131. package/out/test/Wallet/get/getHeight.test.js.map +1 -0
  1132. package/out/test/Wallet/get/getKnownTxids.test.d.ts +2 -0
  1133. package/out/test/Wallet/get/getKnownTxids.test.d.ts.map +1 -0
  1134. package/out/test/Wallet/get/getKnownTxids.test.js +73 -0
  1135. package/out/test/Wallet/get/getKnownTxids.test.js.map +1 -0
  1136. package/out/test/Wallet/get/getNetwork.test.d.ts +2 -0
  1137. package/out/test/Wallet/get/getNetwork.test.d.ts.map +1 -0
  1138. package/out/test/Wallet/get/getNetwork.test.js +26 -0
  1139. package/out/test/Wallet/get/getNetwork.test.js.map +1 -0
  1140. package/out/test/Wallet/get/getVersion.test.d.ts +2 -0
  1141. package/out/test/Wallet/get/getVersion.test.d.ts.map +1 -0
  1142. package/out/test/Wallet/get/getVersion.test.js +25 -0
  1143. package/out/test/Wallet/get/getVersion.test.js.map +1 -0
  1144. package/out/test/Wallet/list/listActions.test.d.ts +2 -0
  1145. package/out/test/Wallet/list/listActions.test.d.ts.map +1 -0
  1146. package/out/test/Wallet/list/listActions.test.js +271 -0
  1147. package/out/test/Wallet/list/listActions.test.js.map +1 -0
  1148. package/out/test/Wallet/list/listActions2.test.d.ts +2 -0
  1149. package/out/test/Wallet/list/listActions2.test.d.ts.map +1 -0
  1150. package/out/test/Wallet/list/listActions2.test.js +1141 -0
  1151. package/out/test/Wallet/list/listActions2.test.js.map +1 -0
  1152. package/out/test/Wallet/list/listCertificates.test.d.ts +2 -0
  1153. package/out/test/Wallet/list/listCertificates.test.d.ts.map +1 -0
  1154. package/out/test/Wallet/list/listCertificates.test.js +111 -0
  1155. package/out/test/Wallet/list/listCertificates.test.js.map +1 -0
  1156. package/out/test/Wallet/list/listOutputs.test.d.ts +2 -0
  1157. package/out/test/Wallet/list/listOutputs.test.d.ts.map +1 -0
  1158. package/out/test/Wallet/list/listOutputs.test.js +424 -0
  1159. package/out/test/Wallet/list/listOutputs.test.js.map +1 -0
  1160. package/out/test/Wallet/live/walletLive.man.test.d.ts +26 -0
  1161. package/out/test/Wallet/live/walletLive.man.test.d.ts.map +1 -0
  1162. package/out/test/Wallet/live/walletLive.man.test.js +417 -0
  1163. package/out/test/Wallet/live/walletLive.man.test.js.map +1 -0
  1164. package/out/test/Wallet/local/localWallet.man.test.d.ts +2 -0
  1165. package/out/test/Wallet/local/localWallet.man.test.d.ts.map +1 -0
  1166. package/out/test/Wallet/local/localWallet.man.test.js +83 -0
  1167. package/out/test/Wallet/local/localWallet.man.test.js.map +1 -0
  1168. package/out/test/Wallet/local/localWallet2.man.test.d.ts +2 -0
  1169. package/out/test/Wallet/local/localWallet2.man.test.d.ts.map +1 -0
  1170. package/out/test/Wallet/local/localWallet2.man.test.js +284 -0
  1171. package/out/test/Wallet/local/localWallet2.man.test.js.map +1 -0
  1172. package/out/test/Wallet/signAction/mountaintop.man.test.d.ts +2 -0
  1173. package/out/test/Wallet/signAction/mountaintop.man.test.d.ts.map +1 -0
  1174. package/out/test/Wallet/signAction/mountaintop.man.test.js +109 -0
  1175. package/out/test/Wallet/signAction/mountaintop.man.test.js.map +1 -0
  1176. package/out/test/Wallet/specOps/specOps.man.test.d.ts +2 -0
  1177. package/out/test/Wallet/specOps/specOps.man.test.d.ts.map +1 -0
  1178. package/out/test/Wallet/specOps/specOps.man.test.js +163 -0
  1179. package/out/test/Wallet/specOps/specOps.man.test.js.map +1 -0
  1180. package/out/test/Wallet/support/janitor.man.test.d.ts +2 -0
  1181. package/out/test/Wallet/support/janitor.man.test.d.ts.map +1 -0
  1182. package/out/test/Wallet/support/janitor.man.test.js +38 -0
  1183. package/out/test/Wallet/support/janitor.man.test.js.map +1 -0
  1184. package/out/test/Wallet/support/operations.man.test.d.ts +2 -0
  1185. package/out/test/Wallet/support/operations.man.test.d.ts.map +1 -0
  1186. package/out/test/Wallet/support/operations.man.test.js +370 -0
  1187. package/out/test/Wallet/support/operations.man.test.js.map +1 -0
  1188. package/out/test/Wallet/support/reqErrorReview.2025.05.06.man.test.d.ts +2 -0
  1189. package/out/test/Wallet/support/reqErrorReview.2025.05.06.man.test.d.ts.map +1 -0
  1190. package/out/test/Wallet/support/reqErrorReview.2025.05.06.man.test.js +385 -0
  1191. package/out/test/Wallet/support/reqErrorReview.2025.05.06.man.test.js.map +1 -0
  1192. package/out/test/Wallet/sync/Wallet.sync.test.d.ts +2 -0
  1193. package/out/test/Wallet/sync/Wallet.sync.test.d.ts.map +1 -0
  1194. package/out/test/Wallet/sync/Wallet.sync.test.js +155 -0
  1195. package/out/test/Wallet/sync/Wallet.sync.test.js.map +1 -0
  1196. package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.d.ts +2 -0
  1197. package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.d.ts.map +1 -0
  1198. package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.js +206 -0
  1199. package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.js.map +1 -0
  1200. package/out/test/Wallet/sync/setActive.test.d.ts +2 -0
  1201. package/out/test/Wallet/sync/setActive.test.d.ts.map +1 -0
  1202. package/out/test/Wallet/sync/setActive.test.js +161 -0
  1203. package/out/test/Wallet/sync/setActive.test.js.map +1 -0
  1204. package/out/test/WalletClient/LocalKVStore.man.test.d.ts +2 -0
  1205. package/out/test/WalletClient/LocalKVStore.man.test.d.ts.map +1 -0
  1206. package/out/test/WalletClient/LocalKVStore.man.test.js +99 -0
  1207. package/out/test/WalletClient/LocalKVStore.man.test.js.map +1 -0
  1208. package/out/test/WalletClient/WERR.man.test.d.ts +2 -0
  1209. package/out/test/WalletClient/WERR.man.test.d.ts.map +1 -0
  1210. package/out/test/WalletClient/WERR.man.test.js +34 -0
  1211. package/out/test/WalletClient/WERR.man.test.js.map +1 -0
  1212. package/out/test/bsv-ts-sdk/LocalKVStore.test.d.ts +2 -0
  1213. package/out/test/bsv-ts-sdk/LocalKVStore.test.d.ts.map +1 -0
  1214. package/out/test/bsv-ts-sdk/LocalKVStore.test.js +98 -0
  1215. package/out/test/bsv-ts-sdk/LocalKVStore.test.js.map +1 -0
  1216. package/out/test/checkDB.d.ts +4 -0
  1217. package/out/test/checkDB.d.ts.map +1 -0
  1218. package/out/test/checkDB.js +55 -0
  1219. package/out/test/checkDB.js.map +1 -0
  1220. package/out/test/examples/backup.man.test.d.ts +14 -0
  1221. package/out/test/examples/backup.man.test.d.ts.map +1 -0
  1222. package/out/test/examples/backup.man.test.js +59 -0
  1223. package/out/test/examples/backup.man.test.js.map +1 -0
  1224. package/out/test/examples/pushdrop.test.d.ts +56 -0
  1225. package/out/test/examples/pushdrop.test.d.ts.map +1 -0
  1226. package/out/test/examples/pushdrop.test.js +232 -0
  1227. package/out/test/examples/pushdrop.test.js.map +1 -0
  1228. package/out/test/monitor/Monitor.test.d.ts +2 -0
  1229. package/out/test/monitor/Monitor.test.d.ts.map +1 -0
  1230. package/out/test/monitor/Monitor.test.js +560 -0
  1231. package/out/test/monitor/Monitor.test.js.map +1 -0
  1232. package/out/test/services/Services.test.d.ts +2 -0
  1233. package/out/test/services/Services.test.d.ts.map +1 -0
  1234. package/out/test/services/Services.test.js +246 -0
  1235. package/out/test/services/Services.test.js.map +1 -0
  1236. package/out/test/storage/KnexMigrations.test.d.ts +2 -0
  1237. package/out/test/storage/KnexMigrations.test.d.ts.map +1 -0
  1238. package/out/test/storage/KnexMigrations.test.js +81 -0
  1239. package/out/test/storage/KnexMigrations.test.js.map +1 -0
  1240. package/out/test/storage/StorageMySQLDojoReader.man.test.d.ts +2 -0
  1241. package/out/test/storage/StorageMySQLDojoReader.man.test.d.ts.map +1 -0
  1242. package/out/test/storage/StorageMySQLDojoReader.man.test.js +86 -0
  1243. package/out/test/storage/StorageMySQLDojoReader.man.test.js.map +1 -0
  1244. package/out/test/storage/count.test.d.ts +2 -0
  1245. package/out/test/storage/count.test.d.ts.map +1 -0
  1246. package/out/test/storage/count.test.js +142 -0
  1247. package/out/test/storage/count.test.js.map +1 -0
  1248. package/out/test/storage/find.test.d.ts +2 -0
  1249. package/out/test/storage/find.test.d.ts.map +1 -0
  1250. package/out/test/storage/find.test.js +144 -0
  1251. package/out/test/storage/find.test.js.map +1 -0
  1252. package/out/test/storage/findLegacy.test.d.ts +2 -0
  1253. package/out/test/storage/findLegacy.test.d.ts.map +1 -0
  1254. package/out/test/storage/findLegacy.test.js +52 -0
  1255. package/out/test/storage/findLegacy.test.js.map +1 -0
  1256. package/out/test/storage/idb/allocateChange.test.d.ts +2 -0
  1257. package/out/test/storage/idb/allocateChange.test.d.ts.map +1 -0
  1258. package/out/test/storage/idb/allocateChange.test.js +110 -0
  1259. package/out/test/storage/idb/allocateChange.test.js.map +1 -0
  1260. package/out/test/storage/idb/count.test.d.ts +2 -0
  1261. package/out/test/storage/idb/count.test.d.ts.map +1 -0
  1262. package/out/test/storage/idb/count.test.js +129 -0
  1263. package/out/test/storage/idb/count.test.js.map +1 -0
  1264. package/out/test/storage/idb/find.test.d.ts +2 -0
  1265. package/out/test/storage/idb/find.test.d.ts.map +1 -0
  1266. package/out/test/storage/idb/find.test.js +131 -0
  1267. package/out/test/storage/idb/find.test.js.map +1 -0
  1268. package/out/test/storage/idb/idbSpeed.test.d.ts +2 -0
  1269. package/out/test/storage/idb/idbSpeed.test.d.ts.map +1 -0
  1270. package/out/test/storage/idb/idbSpeed.test.js +30 -0
  1271. package/out/test/storage/idb/idbSpeed.test.js.map +1 -0
  1272. package/out/test/storage/idb/insert.test.d.ts +2 -0
  1273. package/out/test/storage/idb/insert.test.d.ts.map +1 -0
  1274. package/out/test/storage/idb/insert.test.js +242 -0
  1275. package/out/test/storage/idb/insert.test.js.map +1 -0
  1276. package/out/test/storage/idb/transactionAbort.test.d.ts +2 -0
  1277. package/out/test/storage/idb/transactionAbort.test.d.ts.map +1 -0
  1278. package/out/test/storage/idb/transactionAbort.test.js +97 -0
  1279. package/out/test/storage/idb/transactionAbort.test.js.map +1 -0
  1280. package/out/test/storage/idb/update.test.d.ts +2 -0
  1281. package/out/test/storage/idb/update.test.d.ts.map +1 -0
  1282. package/out/test/storage/idb/update.test.js +902 -0
  1283. package/out/test/storage/idb/update.test.js.map +1 -0
  1284. package/out/test/storage/insert.test.d.ts +2 -0
  1285. package/out/test/storage/insert.test.d.ts.map +1 -0
  1286. package/out/test/storage/insert.test.js +256 -0
  1287. package/out/test/storage/insert.test.js.map +1 -0
  1288. package/out/test/storage/update.test.d.ts +2 -0
  1289. package/out/test/storage/update.test.d.ts.map +1 -0
  1290. package/out/test/storage/update.test.js +919 -0
  1291. package/out/test/storage/update.test.js.map +1 -0
  1292. package/out/test/storage/update2.test.d.ts +2 -0
  1293. package/out/test/storage/update2.test.d.ts.map +1 -0
  1294. package/out/test/storage/update2.test.js +767 -0
  1295. package/out/test/storage/update2.test.js.map +1 -0
  1296. package/out/test/utils/TestUtilsWalletStorage.d.ts +523 -0
  1297. package/out/test/utils/TestUtilsWalletStorage.d.ts.map +1 -0
  1298. package/out/test/utils/TestUtilsWalletStorage.js +1958 -0
  1299. package/out/test/utils/TestUtilsWalletStorage.js.map +1 -0
  1300. package/out/test/utils/localWalletMethods.d.ts +33 -0
  1301. package/out/test/utils/localWalletMethods.d.ts.map +1 -0
  1302. package/out/test/utils/localWalletMethods.js +304 -0
  1303. package/out/test/utils/localWalletMethods.js.map +1 -0
  1304. package/out/tsconfig.all.tsbuildinfo +1 -1
  1305. package/package.json +2 -2
  1306. package/src/storage/StorageIdb.ts +91 -16
  1307. package/src/storage/methods/createAction.ts +23 -7
  1308. package/.claude/settings.local.json +0 -10
@@ -0,0 +1,2360 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StorageIdb = void 0;
4
+ const idb_1 = require("idb");
5
+ const utilityHelpers_1 = require("../utility/utilityHelpers");
6
+ const StorageProvider_1 = require("./StorageProvider");
7
+ const listActionsIdb_1 = require("./methods/listActionsIdb");
8
+ const listOutputsIdb_1 = require("./methods/listOutputsIdb");
9
+ const reviewStatusIdb_1 = require("./methods/reviewStatusIdb");
10
+ const purgeDataIdb_1 = require("./methods/purgeDataIdb");
11
+ const WERR_errors_1 = require("../sdk/WERR_errors");
12
+ /**
13
+ * This class implements the `StorageProvider` interface using IndexedDB,
14
+ * via the promises wrapper package `idb`.
15
+ */
16
+ class StorageIdb extends StorageProvider_1.StorageProvider {
17
+ constructor(options) {
18
+ super(options);
19
+ this.allStores = [
20
+ 'certificates',
21
+ 'certificate_fields',
22
+ 'commissions',
23
+ 'monitor_events',
24
+ 'outputs',
25
+ 'output_baskets',
26
+ 'output_tags',
27
+ 'output_tags_map',
28
+ 'proven_txs',
29
+ 'proven_tx_reqs',
30
+ 'sync_states',
31
+ 'transactions',
32
+ 'tx_labels',
33
+ 'tx_labels_map',
34
+ 'users'
35
+ ];
36
+ this.dbName = `wallet-toolbox-${this.chain}net`;
37
+ }
38
+ /**
39
+ * This method must be called at least once before any other method accesses the database,
40
+ * and each time the schema may have updated.
41
+ *
42
+ * If the database has already been created in this context, `storageName` and `storageIdentityKey`
43
+ * are ignored.
44
+ *
45
+ * @param storageName
46
+ * @param storageIdentityKey
47
+ * @returns
48
+ */
49
+ async migrate(storageName, storageIdentityKey) {
50
+ const db = await this.verifyDB(storageName, storageIdentityKey);
51
+ return db.version.toString();
52
+ }
53
+ /**
54
+ * Following initial database initialization, this method verfies that db is ready for use.
55
+ *
56
+ * @throws `WERR_INVALID_OPERATION` if the database has not been initialized by a call to `migrate`.
57
+ *
58
+ * @param storageName
59
+ * @param storageIdentityKey
60
+ *
61
+ * @returns
62
+ */
63
+ async verifyDB(storageName, storageIdentityKey) {
64
+ if (this.db)
65
+ return this.db;
66
+ this.db = await this.initDB(storageName, storageIdentityKey);
67
+ this._settings = (await this.db.getAll('settings'))[0];
68
+ this.whenLastAccess = new Date();
69
+ return this.db;
70
+ }
71
+ /**
72
+ * Convert the standard optional `TrxToken` parameter into either a direct knex database instance,
73
+ * or a Knex.Transaction as appropriate.
74
+ */
75
+ toDbTrx(stores, mode, trx) {
76
+ if (trx) {
77
+ const t = trx;
78
+ // Check if the transaction is still active by trying to access an object store
79
+ try {
80
+ const storeToCheck = stores[0] || this.allStores[0];
81
+ t.objectStore(storeToCheck);
82
+ }
83
+ catch (e) {
84
+ console.error(`[StorageIdb.toDbTrx] Passed transaction already finished! stores=${stores.join(',')}, mode=${mode}`);
85
+ console.error('[StorageIdb.toDbTrx] Stack trace:', new Error().stack);
86
+ throw e;
87
+ }
88
+ return t;
89
+ }
90
+ else {
91
+ if (!this.db)
92
+ throw new Error('not initialized');
93
+ const db = this.db;
94
+ const trx = db.transaction(stores || this.allStores, mode || 'readwrite');
95
+ this.whenLastAccess = new Date();
96
+ return trx;
97
+ }
98
+ }
99
+ /**
100
+ * Called by `makeAvailable` to return storage `TableSettings`.
101
+ * Since this is the first async method that must be called by all clients,
102
+ * it is where async initialization occurs.
103
+ *
104
+ * After initialization, cached settings are returned.
105
+ *
106
+ * @param trx
107
+ */
108
+ async readSettings(trx) {
109
+ await this.verifyDB();
110
+ return this._settings;
111
+ }
112
+ async initDB(storageName, storageIdentityKey) {
113
+ const chain = this.chain;
114
+ const maxOutputScript = 1024;
115
+ const db = await (0, idb_1.openDB)(this.dbName, 1, {
116
+ upgrade(db, oldVersion, newVersion, transaction) {
117
+ if (!db.objectStoreNames.contains('proven_txs')) {
118
+ // proven_txs object store
119
+ const provenTxsStore = db.createObjectStore('proven_txs', {
120
+ keyPath: 'provenTxId',
121
+ autoIncrement: true
122
+ });
123
+ provenTxsStore.createIndex('txid', 'txid', { unique: true });
124
+ }
125
+ if (!db.objectStoreNames.contains('proven_tx_reqs')) {
126
+ // proven_tx_reqs object store
127
+ const provenTxReqsStore = db.createObjectStore('proven_tx_reqs', {
128
+ keyPath: 'provenTxReqId',
129
+ autoIncrement: true
130
+ });
131
+ provenTxReqsStore.createIndex('provenTxId', 'provenTxId');
132
+ provenTxReqsStore.createIndex('txid', 'txid', { unique: true });
133
+ provenTxReqsStore.createIndex('status', 'status');
134
+ provenTxReqsStore.createIndex('batch', 'batch');
135
+ }
136
+ if (!db.objectStoreNames.contains('users')) {
137
+ const users = db.createObjectStore('users', {
138
+ keyPath: 'userId',
139
+ autoIncrement: true
140
+ });
141
+ users.createIndex('identityKey', 'identityKey', { unique: true });
142
+ }
143
+ if (!db.objectStoreNames.contains('certificates')) {
144
+ // certificates object store
145
+ const certificatesStore = db.createObjectStore('certificates', {
146
+ keyPath: 'certificateId',
147
+ autoIncrement: true
148
+ });
149
+ certificatesStore.createIndex('userId', 'userId');
150
+ certificatesStore.createIndex('userId_type_certifier_serialNumber', ['userId', 'type', 'certifier', 'serialNumber'], { unique: true });
151
+ }
152
+ if (!db.objectStoreNames.contains('certificate_fields')) {
153
+ // certificate_fields object store
154
+ const certificateFieldsStore = db.createObjectStore('certificate_fields', {
155
+ keyPath: ['certificateId', 'fieldName'] // Composite key
156
+ });
157
+ certificateFieldsStore.createIndex('userId', 'userId');
158
+ certificateFieldsStore.createIndex('certificateId', 'certificateId');
159
+ }
160
+ if (!db.objectStoreNames.contains('output_baskets')) {
161
+ // output_baskets object store
162
+ const outputBasketsStore = db.createObjectStore('output_baskets', {
163
+ keyPath: 'basketId',
164
+ autoIncrement: true
165
+ });
166
+ outputBasketsStore.createIndex('userId', 'userId');
167
+ outputBasketsStore.createIndex('name_userId', ['name', 'userId'], { unique: true });
168
+ }
169
+ if (!db.objectStoreNames.contains('transactions')) {
170
+ // transactions object store
171
+ const transactionsStore = db.createObjectStore('transactions', {
172
+ keyPath: 'transactionId',
173
+ autoIncrement: true
174
+ });
175
+ transactionsStore.createIndex('userId', 'userId');
176
+ (transactionsStore.createIndex('status', 'status'),
177
+ transactionsStore.createIndex('status_userId', ['status', 'userId']));
178
+ transactionsStore.createIndex('provenTxId', 'provenTxId');
179
+ transactionsStore.createIndex('reference', 'reference', { unique: true });
180
+ }
181
+ if (!db.objectStoreNames.contains('commissions')) {
182
+ // commissions object store
183
+ const commissionsStore = db.createObjectStore('commissions', {
184
+ keyPath: 'commissionId',
185
+ autoIncrement: true
186
+ });
187
+ commissionsStore.createIndex('userId', 'userId');
188
+ commissionsStore.createIndex('transactionId', 'transactionId', { unique: true });
189
+ }
190
+ if (!db.objectStoreNames.contains('outputs')) {
191
+ // outputs object store
192
+ const outputsStore = db.createObjectStore('outputs', {
193
+ keyPath: 'outputId',
194
+ autoIncrement: true
195
+ });
196
+ outputsStore.createIndex('userId', 'userId');
197
+ outputsStore.createIndex('transactionId', 'transactionId');
198
+ outputsStore.createIndex('basketId', 'basketId');
199
+ outputsStore.createIndex('spentBy', 'spentBy');
200
+ outputsStore.createIndex('transactionId_vout_userId', ['transactionId', 'vout', 'userId'], { unique: true });
201
+ }
202
+ if (!db.objectStoreNames.contains('output_tags')) {
203
+ // output_tags object store
204
+ const outputTagsStore = db.createObjectStore('output_tags', {
205
+ keyPath: 'outputTagId',
206
+ autoIncrement: true
207
+ });
208
+ outputTagsStore.createIndex('userId', 'userId');
209
+ outputTagsStore.createIndex('tag_userId', ['tag', 'userId'], { unique: true });
210
+ }
211
+ if (!db.objectStoreNames.contains('output_tags_map')) {
212
+ // output_tags_map object store
213
+ const outputTagsMapStore = db.createObjectStore('output_tags_map', {
214
+ keyPath: ['outputTagId', 'outputId']
215
+ });
216
+ outputTagsMapStore.createIndex('outputTagId', 'outputTagId');
217
+ outputTagsMapStore.createIndex('outputId', 'outputId');
218
+ }
219
+ if (!db.objectStoreNames.contains('tx_labels')) {
220
+ // tx_labels object store
221
+ const txLabelsStore = db.createObjectStore('tx_labels', {
222
+ keyPath: 'txLabelId',
223
+ autoIncrement: true
224
+ });
225
+ txLabelsStore.createIndex('userId', 'userId');
226
+ txLabelsStore.createIndex('label_userId', ['label', 'userId'], { unique: true });
227
+ }
228
+ if (!db.objectStoreNames.contains('tx_labels_map')) {
229
+ // tx_labels_map object store
230
+ const txLabelsMapStore = db.createObjectStore('tx_labels_map', {
231
+ keyPath: ['txLabelId', 'transactionId']
232
+ });
233
+ txLabelsMapStore.createIndex('txLabelId', 'txLabelId');
234
+ txLabelsMapStore.createIndex('transactionId', 'transactionId');
235
+ }
236
+ if (!db.objectStoreNames.contains('monitor_events')) {
237
+ // monitor_events object store
238
+ const monitorEventsStore = db.createObjectStore('monitor_events', {
239
+ keyPath: 'id',
240
+ autoIncrement: true
241
+ });
242
+ }
243
+ if (!db.objectStoreNames.contains('sync_states')) {
244
+ // sync_states object store
245
+ const syncStatesStore = db.createObjectStore('sync_states', {
246
+ keyPath: 'syncStateId',
247
+ autoIncrement: true
248
+ });
249
+ syncStatesStore.createIndex('userId', 'userId');
250
+ syncStatesStore.createIndex('refNum', 'refNum', { unique: true });
251
+ syncStatesStore.createIndex('status', 'status');
252
+ }
253
+ if (!db.objectStoreNames.contains('settings')) {
254
+ if (!storageName || !storageIdentityKey) {
255
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('migrate must be called before first access');
256
+ }
257
+ const settings = db.createObjectStore('settings', {
258
+ keyPath: 'storageIdentityKey'
259
+ });
260
+ const s = {
261
+ created_at: new Date(),
262
+ updated_at: new Date(),
263
+ storageIdentityKey,
264
+ storageName,
265
+ chain,
266
+ dbtype: 'IndexedDB',
267
+ maxOutputScript
268
+ };
269
+ settings.put(s);
270
+ }
271
+ }
272
+ });
273
+ return db;
274
+ }
275
+ //
276
+ // StorageProvider abstract methods
277
+ //
278
+ async reviewStatus(args) {
279
+ return await (0, reviewStatusIdb_1.reviewStatusIdb)(this, args);
280
+ }
281
+ async purgeData(params, trx) {
282
+ return await (0, purgeDataIdb_1.purgeDataIdb)(this, params, trx);
283
+ }
284
+ /**
285
+ * Proceeds in three stages:
286
+ * 1. Find an output that exactly funds the transaction (if exactSatoshis is not undefined).
287
+ * 2. Find an output that overfunds by the least amount (targetSatoshis).
288
+ * 3. Find an output that comes as close to funding as possible (targetSatoshis).
289
+ * 4. Return undefined if no output is found.
290
+ *
291
+ * Outputs must belong to userId and basketId and have spendable true.
292
+ * Their corresponding transaction must have status of 'completed', 'unproven', or 'sending' (if excludeSending is false).
293
+ *
294
+ * @param userId
295
+ * @param basketId
296
+ * @param targetSatoshis
297
+ * @param exactSatoshis
298
+ * @param excludeSending
299
+ * @param transactionId
300
+ * @returns next funding output to add to transaction or undefined if there are none.
301
+ */
302
+ async allocateChangeInput(userId, basketId, targetSatoshis, exactSatoshis, excludeSending, transactionId) {
303
+ // Include proven_txs in store list since findOutputs -> validateOutputScript needs it
304
+ const dbTrx = this.toDbTrx(['outputs', 'transactions', 'proven_txs'], 'readwrite');
305
+ try {
306
+ const txStatus = ['completed', 'unproven'];
307
+ if (!excludeSending)
308
+ txStatus.push('sending');
309
+ const args = {
310
+ partial: { userId, basketId, spendable: true },
311
+ txStatus,
312
+ trx: dbTrx
313
+ };
314
+ const outputs = await this.findOutputs(args);
315
+ let output;
316
+ let scores = [];
317
+ for (const o of outputs) {
318
+ if (exactSatoshis && o.satoshis === exactSatoshis) {
319
+ output = o;
320
+ break;
321
+ }
322
+ const score = o.satoshis - targetSatoshis;
323
+ scores.push({ output: o, score });
324
+ }
325
+ if (!output) {
326
+ // sort scores increasing by score property
327
+ scores = scores.sort((a, b) => a.score - b.score);
328
+ // find the first score that is greater than or equal to 0
329
+ const o = scores.find(s => s.score >= 0);
330
+ if (o) {
331
+ // stage 2 satisfied (minimally funded)
332
+ output = o.output;
333
+ }
334
+ else if (scores.length > 0) {
335
+ // stage 3 satisfied (minimally under-funded)
336
+ output = scores.slice(-1)[0].output;
337
+ }
338
+ else {
339
+ // no available funding outputs
340
+ output = undefined;
341
+ }
342
+ }
343
+ if (output) {
344
+ // mark output as spent by transactionId
345
+ await this.updateOutput(output.outputId, { spendable: false, spentBy: transactionId }, dbTrx);
346
+ }
347
+ return output;
348
+ }
349
+ finally {
350
+ await dbTrx.done;
351
+ }
352
+ }
353
+ async getProvenOrRawTx(txid, trx) {
354
+ const r = {
355
+ proven: undefined,
356
+ rawTx: undefined,
357
+ inputBEEF: undefined
358
+ };
359
+ r.proven = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxs({ partial: { txid: txid }, trx }));
360
+ if (!r.proven) {
361
+ const req = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxReqs({ partial: { txid: txid }, trx }));
362
+ if (req && ['unsent', 'unmined', 'unconfirmed', 'sending', 'nosend', 'completed'].includes(req.status)) {
363
+ r.rawTx = req.rawTx;
364
+ r.inputBEEF = req.inputBEEF;
365
+ }
366
+ }
367
+ return r;
368
+ }
369
+ async getRawTxOfKnownValidTransaction(txid, offset, length, trx) {
370
+ if (!txid)
371
+ return undefined;
372
+ if (!this.isAvailable())
373
+ await this.makeAvailable();
374
+ let rawTx = undefined;
375
+ const r = await this.getProvenOrRawTx(txid, trx);
376
+ if (r.proven)
377
+ rawTx = r.proven.rawTx;
378
+ else
379
+ rawTx = r.rawTx;
380
+ if (rawTx && offset !== undefined && length !== undefined && Number.isInteger(offset) && Number.isInteger(length)) {
381
+ rawTx = rawTx.slice(offset, offset + length);
382
+ }
383
+ return rawTx;
384
+ }
385
+ async getLabelsForTransactionId(transactionId, trx) {
386
+ const maps = await this.findTxLabelMaps({ partial: { transactionId, isDeleted: false }, trx });
387
+ const labelIds = maps.map(m => m.txLabelId);
388
+ const labels = [];
389
+ for (const txLabelId of labelIds) {
390
+ const label = (0, utilityHelpers_1.verifyOne)(await this.findTxLabels({ partial: { txLabelId, isDeleted: false }, trx }));
391
+ labels.push(label);
392
+ }
393
+ return labels;
394
+ }
395
+ async getTagsForOutputId(outputId, trx) {
396
+ const maps = await this.findOutputTagMaps({ partial: { outputId, isDeleted: false }, trx });
397
+ const tagIds = maps.map(m => m.outputTagId);
398
+ const tags = [];
399
+ for (const outputTagId of tagIds) {
400
+ const tag = (0, utilityHelpers_1.verifyOne)(await this.findOutputTags({ partial: { outputTagId, isDeleted: false }, trx }));
401
+ tags.push(tag);
402
+ }
403
+ return tags;
404
+ }
405
+ async listActions(auth, vargs) {
406
+ if (!auth.userId)
407
+ throw new WERR_errors_1.WERR_UNAUTHORIZED();
408
+ return await (0, listActionsIdb_1.listActionsIdb)(this, auth, vargs);
409
+ }
410
+ async listOutputs(auth, vargs) {
411
+ if (!auth.userId)
412
+ throw new WERR_errors_1.WERR_UNAUTHORIZED();
413
+ return await (0, listOutputsIdb_1.listOutputsIdb)(this, auth, vargs);
414
+ }
415
+ async countChangeInputs(userId, basketId, excludeSending) {
416
+ const txStatus = ['completed', 'unproven'];
417
+ if (!excludeSending)
418
+ txStatus.push('sending');
419
+ const args = { partial: { userId, basketId }, txStatus };
420
+ let count = 0;
421
+ await this.filterOutputs(args, r => {
422
+ count++;
423
+ });
424
+ return count;
425
+ }
426
+ async findCertificatesAuth(auth, args) {
427
+ if (!auth.userId || (args.partial.userId && args.partial.userId !== auth.userId))
428
+ throw new WERR_errors_1.WERR_UNAUTHORIZED();
429
+ args.partial.userId = auth.userId;
430
+ return await this.findCertificates(args);
431
+ }
432
+ async findOutputBasketsAuth(auth, args) {
433
+ if (!auth.userId || (args.partial.userId && args.partial.userId !== auth.userId))
434
+ throw new WERR_errors_1.WERR_UNAUTHORIZED();
435
+ args.partial.userId = auth.userId;
436
+ return await this.findOutputBaskets(args);
437
+ }
438
+ async findOutputsAuth(auth, args) {
439
+ if (!auth.userId || (args.partial.userId && args.partial.userId !== auth.userId))
440
+ throw new WERR_errors_1.WERR_UNAUTHORIZED();
441
+ args.partial.userId = auth.userId;
442
+ return await this.findOutputs(args);
443
+ }
444
+ async insertCertificateAuth(auth, certificate) {
445
+ if (!auth.userId || (certificate.userId && certificate.userId !== auth.userId))
446
+ throw new WERR_errors_1.WERR_UNAUTHORIZED();
447
+ certificate.userId = auth.userId;
448
+ return await this.insertCertificate(certificate);
449
+ }
450
+ //
451
+ // StorageReaderWriter abstract methods
452
+ //
453
+ async dropAllData() {
454
+ await (0, idb_1.deleteDB)(this.dbName);
455
+ }
456
+ async filterOutputTagMaps(args, filtered, userId) {
457
+ var _a, _b, _c, _d;
458
+ // Pre-compute outputTagIds for this user BEFORE opening cursor.
459
+ // This avoids nested queries inside the cursor loop which cause IDB transaction timeouts.
460
+ let userOutputTagIds;
461
+ if (userId !== undefined) {
462
+ userOutputTagIds = new Set();
463
+ const userTags = await this.findOutputTags({ partial: { userId } });
464
+ for (const tag of userTags) {
465
+ userOutputTagIds.add(tag.outputTagId);
466
+ }
467
+ }
468
+ const offset = ((_a = args.paged) === null || _a === void 0 ? void 0 : _a.offset) || 0;
469
+ let skipped = 0;
470
+ let count = 0;
471
+ const dbTrx = this.toDbTrx(['output_tags_map'], 'readonly', args.trx);
472
+ let cursor;
473
+ if (((_b = args.partial) === null || _b === void 0 ? void 0 : _b.outputTagId) !== undefined) {
474
+ cursor = await dbTrx.objectStore('output_tags_map').index('outputTagId').openCursor(args.partial.outputTagId);
475
+ }
476
+ else if (((_c = args.partial) === null || _c === void 0 ? void 0 : _c.outputId) !== undefined) {
477
+ cursor = await dbTrx.objectStore('output_tags_map').index('outputId').openCursor(args.partial.outputId);
478
+ }
479
+ else {
480
+ cursor = await dbTrx.objectStore('output_tags_map').openCursor();
481
+ }
482
+ let firstTime = true;
483
+ while (cursor) {
484
+ if (!firstTime)
485
+ cursor = await cursor.continue();
486
+ if (!cursor)
487
+ break;
488
+ firstTime = false;
489
+ const r = cursor.value;
490
+ if (args.since && args.since > r.updated_at)
491
+ continue;
492
+ if (args.tagIds && !args.tagIds.includes(r.outputTagId))
493
+ continue;
494
+ if (args.partial) {
495
+ if (args.partial.outputTagId && r.outputTagId !== args.partial.outputTagId)
496
+ continue;
497
+ if (args.partial.outputId && r.outputId !== args.partial.outputId)
498
+ continue;
499
+ if (args.partial.created_at && r.created_at.getTime() !== args.partial.created_at.getTime())
500
+ continue;
501
+ if (args.partial.updated_at && r.updated_at.getTime() !== args.partial.updated_at.getTime())
502
+ continue;
503
+ if (args.partial.isDeleted !== undefined && r.isDeleted !== args.partial.isDeleted)
504
+ continue;
505
+ }
506
+ if (userOutputTagIds !== undefined && !userOutputTagIds.has(r.outputTagId)) {
507
+ continue;
508
+ }
509
+ if (skipped < offset) {
510
+ skipped++;
511
+ continue;
512
+ }
513
+ filtered(r);
514
+ count++;
515
+ if (((_d = args.paged) === null || _d === void 0 ? void 0 : _d.limit) && count >= args.paged.limit)
516
+ break;
517
+ }
518
+ if (!args.trx)
519
+ await dbTrx.done;
520
+ }
521
+ async findOutputTagMaps(args) {
522
+ const results = [];
523
+ await this.filterOutputTagMaps(args, r => {
524
+ results.push(this.validateEntity(r));
525
+ });
526
+ return results;
527
+ }
528
+ async filterProvenTxReqs(args, filtered, userId) {
529
+ var _a, _b, _c, _d, _e, _f, _g;
530
+ if (args.partial.rawTx)
531
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.rawTx', `undefined. ProvenTxReqs may not be found by rawTx value.`);
532
+ if (args.partial.inputBEEF)
533
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.inputBEEF', `undefined. ProvenTxReqs may not be found by inputBEEF value.`);
534
+ // Pre-compute txids for this user's transactions BEFORE opening cursor.
535
+ // This avoids nested queries inside the cursor loop which cause IDB transaction timeouts.
536
+ let userTxIds;
537
+ if (userId !== undefined) {
538
+ userTxIds = new Set();
539
+ const userTxs = await this.findTransactions({ partial: { userId }, noRawTx: true });
540
+ for (const tx of userTxs) {
541
+ if (tx.txid) {
542
+ userTxIds.add(tx.txid);
543
+ }
544
+ }
545
+ }
546
+ const offset = ((_a = args.paged) === null || _a === void 0 ? void 0 : _a.offset) || 0;
547
+ let skipped = 0;
548
+ let count = 0;
549
+ const dbTrx = this.toDbTrx(['proven_tx_reqs'], 'readonly', args.trx);
550
+ let cursor;
551
+ if ((_b = args.partial) === null || _b === void 0 ? void 0 : _b.provenTxReqId) {
552
+ cursor = await dbTrx.objectStore('proven_tx_reqs').openCursor(args.partial.provenTxReqId);
553
+ }
554
+ else if (((_c = args.partial) === null || _c === void 0 ? void 0 : _c.provenTxId) !== undefined) {
555
+ cursor = await dbTrx.objectStore('proven_tx_reqs').index('provenTxId').openCursor(args.partial.provenTxId);
556
+ }
557
+ else if (((_d = args.partial) === null || _d === void 0 ? void 0 : _d.txid) !== undefined) {
558
+ cursor = await dbTrx.objectStore('proven_tx_reqs').index('txid').openCursor(args.partial.txid);
559
+ }
560
+ else if (((_e = args.partial) === null || _e === void 0 ? void 0 : _e.status) !== undefined) {
561
+ cursor = await dbTrx.objectStore('proven_tx_reqs').index('status').openCursor(args.partial.status);
562
+ }
563
+ else if (((_f = args.partial) === null || _f === void 0 ? void 0 : _f.batch) !== undefined) {
564
+ cursor = await dbTrx.objectStore('proven_tx_reqs').index('batch').openCursor(args.partial.batch);
565
+ }
566
+ else {
567
+ cursor = await dbTrx.objectStore('proven_tx_reqs').openCursor();
568
+ }
569
+ let firstTime = true;
570
+ while (cursor) {
571
+ if (!firstTime)
572
+ cursor = await cursor.continue();
573
+ if (!cursor)
574
+ break;
575
+ firstTime = false;
576
+ const r = cursor.value;
577
+ if (args.since && args.since > r.updated_at)
578
+ continue;
579
+ if (args.partial) {
580
+ if (args.partial.provenTxReqId && r.provenTxReqId !== args.partial.provenTxReqId)
581
+ continue;
582
+ if (args.partial.provenTxId && r.provenTxId !== args.partial.provenTxId)
583
+ continue;
584
+ if (args.partial.created_at && r.created_at.getTime() !== args.partial.created_at.getTime())
585
+ continue;
586
+ if (args.partial.updated_at && r.updated_at.getTime() !== args.partial.updated_at.getTime())
587
+ continue;
588
+ if (args.partial.status && r.status !== args.partial.status)
589
+ continue;
590
+ if (args.partial.attempts !== undefined && r.attempts !== args.partial.attempts)
591
+ continue;
592
+ if (args.partial.notified !== undefined && r.notified !== args.partial.notified)
593
+ continue;
594
+ if (args.partial.txid && r.txid !== args.partial.txid)
595
+ continue;
596
+ if (args.partial.batch && r.batch !== args.partial.batch)
597
+ continue;
598
+ if (args.partial.history && r.history !== args.partial.history)
599
+ continue;
600
+ if (args.partial.notify && r.notify !== args.partial.notify)
601
+ continue;
602
+ }
603
+ if (userTxIds !== undefined && r.txid && !userTxIds.has(r.txid)) {
604
+ continue;
605
+ }
606
+ if (skipped < offset) {
607
+ skipped++;
608
+ continue;
609
+ }
610
+ filtered(r);
611
+ count++;
612
+ if (((_g = args.paged) === null || _g === void 0 ? void 0 : _g.limit) && count >= args.paged.limit)
613
+ break;
614
+ }
615
+ if (!args.trx)
616
+ await dbTrx.done;
617
+ }
618
+ async findProvenTxReqs(args) {
619
+ const results = [];
620
+ await this.filterProvenTxReqs(args, r => {
621
+ results.push(this.validateEntity(r));
622
+ });
623
+ return results;
624
+ }
625
+ async filterProvenTxs(args, filtered, userId) {
626
+ var _a, _b, _c, _d;
627
+ if (args.partial.rawTx)
628
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.rawTx', `undefined. ProvenTxs may not be found by rawTx value.`);
629
+ if (args.partial.merklePath)
630
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.merklePath', `undefined. ProvenTxs may not be found by merklePath value.`);
631
+ // Pre-compute provenTxIds for this user's transactions BEFORE opening cursor.
632
+ // This avoids nested queries inside the cursor loop which cause IDB transaction timeouts.
633
+ let userProvenTxIds;
634
+ if (userId !== undefined) {
635
+ userProvenTxIds = new Set();
636
+ const userTxs = await this.findTransactions({ partial: { userId }, noRawTx: true });
637
+ for (const tx of userTxs) {
638
+ if (tx.provenTxId !== undefined) {
639
+ userProvenTxIds.add(tx.provenTxId);
640
+ }
641
+ }
642
+ }
643
+ const offset = ((_a = args.paged) === null || _a === void 0 ? void 0 : _a.offset) || 0;
644
+ let skipped = 0;
645
+ let count = 0;
646
+ const dbTrx = this.toDbTrx(['proven_txs'], 'readonly', args.trx);
647
+ let cursor;
648
+ if ((_b = args.partial) === null || _b === void 0 ? void 0 : _b.provenTxId) {
649
+ cursor = await dbTrx.objectStore('proven_txs').openCursor(args.partial.provenTxId);
650
+ }
651
+ else if (((_c = args.partial) === null || _c === void 0 ? void 0 : _c.txid) !== undefined) {
652
+ cursor = await dbTrx.objectStore('proven_txs').index('txid').openCursor(args.partial.txid);
653
+ }
654
+ else {
655
+ cursor = await dbTrx.objectStore('proven_txs').openCursor();
656
+ }
657
+ let firstTime = true;
658
+ while (cursor) {
659
+ if (!firstTime)
660
+ cursor = await cursor.continue();
661
+ if (!cursor)
662
+ break;
663
+ firstTime = false;
664
+ const r = cursor.value;
665
+ if (args.since && args.since > r.updated_at)
666
+ continue;
667
+ if (args.partial) {
668
+ if (args.partial.provenTxId && r.provenTxId !== args.partial.provenTxId)
669
+ continue;
670
+ if (args.partial.created_at && r.created_at.getTime() !== args.partial.created_at.getTime())
671
+ continue;
672
+ if (args.partial.updated_at && r.updated_at.getTime() !== args.partial.updated_at.getTime())
673
+ continue;
674
+ if (args.partial.txid && r.txid !== args.partial.txid)
675
+ continue;
676
+ if (args.partial.height !== undefined && r.height !== args.partial.height)
677
+ continue;
678
+ if (args.partial.index !== undefined && r.index !== args.partial.index)
679
+ continue;
680
+ if (args.partial.blockHash && r.blockHash !== args.partial.blockHash)
681
+ continue;
682
+ if (args.partial.merkleRoot && r.merkleRoot !== args.partial.merkleRoot)
683
+ continue;
684
+ }
685
+ if (userProvenTxIds !== undefined && !userProvenTxIds.has(r.provenTxId)) {
686
+ continue;
687
+ }
688
+ if (skipped < offset) {
689
+ skipped++;
690
+ continue;
691
+ }
692
+ filtered(r);
693
+ count++;
694
+ if (((_d = args.paged) === null || _d === void 0 ? void 0 : _d.limit) && count >= args.paged.limit)
695
+ break;
696
+ }
697
+ if (!args.trx)
698
+ await dbTrx.done;
699
+ }
700
+ async findProvenTxs(args) {
701
+ const results = [];
702
+ await this.filterProvenTxs(args, r => {
703
+ results.push(this.validateEntity(r));
704
+ });
705
+ return results;
706
+ }
707
+ async filterTxLabelMaps(args, filtered, userId) {
708
+ var _a, _b, _c, _d;
709
+ // Pre-compute txLabelIds for this user BEFORE opening cursor.
710
+ // This avoids nested queries inside the cursor loop which cause IDB transaction timeouts.
711
+ let userTxLabelIds;
712
+ if (userId !== undefined) {
713
+ userTxLabelIds = new Set();
714
+ const userLabels = await this.findTxLabels({ partial: { userId } });
715
+ for (const label of userLabels) {
716
+ userTxLabelIds.add(label.txLabelId);
717
+ }
718
+ }
719
+ const offset = ((_a = args.paged) === null || _a === void 0 ? void 0 : _a.offset) || 0;
720
+ let skipped = 0;
721
+ let count = 0;
722
+ const dbTrx = this.toDbTrx(['tx_labels_map'], 'readonly', args.trx);
723
+ let cursor;
724
+ if (((_b = args.partial) === null || _b === void 0 ? void 0 : _b.transactionId) !== undefined) {
725
+ cursor = await dbTrx.objectStore('tx_labels_map').index('transactionId').openCursor(args.partial.transactionId);
726
+ }
727
+ else if (((_c = args.partial) === null || _c === void 0 ? void 0 : _c.txLabelId) !== undefined) {
728
+ cursor = await dbTrx.objectStore('tx_labels_map').index('txLabelId').openCursor(args.partial.txLabelId);
729
+ }
730
+ else {
731
+ cursor = await dbTrx.objectStore('tx_labels_map').openCursor();
732
+ }
733
+ let firstTime = true;
734
+ while (cursor) {
735
+ if (!firstTime)
736
+ cursor = await cursor.continue();
737
+ if (!cursor)
738
+ break;
739
+ firstTime = false;
740
+ const r = cursor.value;
741
+ if (args.since && args.since > r.updated_at)
742
+ continue;
743
+ if (args.partial) {
744
+ if (args.partial.txLabelId && r.txLabelId !== args.partial.txLabelId)
745
+ continue;
746
+ if (args.partial.transactionId && r.transactionId !== args.partial.transactionId)
747
+ continue;
748
+ if (args.partial.created_at && r.created_at.getTime() !== args.partial.created_at.getTime())
749
+ continue;
750
+ if (args.partial.updated_at && r.updated_at.getTime() !== args.partial.updated_at.getTime())
751
+ continue;
752
+ if (args.partial.isDeleted !== undefined && r.isDeleted !== args.partial.isDeleted)
753
+ continue;
754
+ }
755
+ if (userTxLabelIds !== undefined && !userTxLabelIds.has(r.txLabelId)) {
756
+ continue;
757
+ }
758
+ if (skipped < offset) {
759
+ skipped++;
760
+ continue;
761
+ }
762
+ filtered(r);
763
+ count++;
764
+ if (((_d = args.paged) === null || _d === void 0 ? void 0 : _d.limit) && count >= args.paged.limit)
765
+ break;
766
+ }
767
+ if (!args.trx)
768
+ await dbTrx.done;
769
+ }
770
+ async findTxLabelMaps(args) {
771
+ const results = [];
772
+ await this.filterTxLabelMaps(args, r => {
773
+ results.push(this.validateEntity(r));
774
+ });
775
+ return results;
776
+ }
777
+ async countOutputTagMaps(args) {
778
+ let count = 0;
779
+ await this.filterOutputTagMaps(args, () => {
780
+ count++;
781
+ });
782
+ return count;
783
+ }
784
+ async countProvenTxReqs(args) {
785
+ let count = 0;
786
+ await this.filterProvenTxReqs(args, () => {
787
+ count++;
788
+ });
789
+ return count;
790
+ }
791
+ async countProvenTxs(args) {
792
+ let count = 0;
793
+ await this.filterProvenTxs(args, () => {
794
+ count++;
795
+ });
796
+ return count;
797
+ }
798
+ async countTxLabelMaps(args) {
799
+ let count = 0;
800
+ await this.filterTxLabelMaps(args, () => {
801
+ count++;
802
+ });
803
+ return count;
804
+ }
805
+ async insertCertificate(certificate, trx) {
806
+ const e = await this.validateEntityForInsert(certificate, trx, undefined, ['isDeleted']);
807
+ const fields = e.fields;
808
+ if (e.fields)
809
+ delete e.fields;
810
+ if (e.certificateId === 0)
811
+ delete e.certificateId;
812
+ const dbTrx = this.toDbTrx(['certificates', 'certificate_fields'], 'readwrite', trx);
813
+ const store = dbTrx.objectStore('certificates');
814
+ try {
815
+ const id = Number(await store.add(e));
816
+ certificate.certificateId = id;
817
+ if (fields) {
818
+ for (const field of fields) {
819
+ field.certificateId = certificate.certificateId;
820
+ field.userId = certificate.userId;
821
+ await this.insertCertificateField(field, dbTrx);
822
+ }
823
+ }
824
+ }
825
+ finally {
826
+ if (!trx)
827
+ await dbTrx.done;
828
+ }
829
+ return certificate.certificateId;
830
+ }
831
+ async insertCertificateField(certificateField, trx) {
832
+ const e = await this.validateEntityForInsert(certificateField, trx);
833
+ const dbTrx = this.toDbTrx(['certificate_fields'], 'readwrite', trx);
834
+ const store = dbTrx.objectStore('certificate_fields');
835
+ try {
836
+ await store.add(e);
837
+ }
838
+ finally {
839
+ if (!trx)
840
+ await dbTrx.done;
841
+ }
842
+ }
843
+ async insertCommission(commission, trx) {
844
+ const e = await this.validateEntityForInsert(commission, trx);
845
+ if (e.commissionId === 0)
846
+ delete e.commissionId;
847
+ const dbTrx = this.toDbTrx(['commissions'], 'readwrite', trx);
848
+ const store = dbTrx.objectStore('commissions');
849
+ try {
850
+ const id = Number(await store.add(e));
851
+ commission.commissionId = id;
852
+ }
853
+ finally {
854
+ if (!trx)
855
+ await dbTrx.done;
856
+ }
857
+ return commission.commissionId;
858
+ }
859
+ async insertMonitorEvent(event, trx) {
860
+ const e = await this.validateEntityForInsert(event, trx);
861
+ if (e.id === 0)
862
+ delete e.id;
863
+ const dbTrx = this.toDbTrx(['monitor_events'], 'readwrite', trx);
864
+ const store = dbTrx.objectStore('monitor_events');
865
+ try {
866
+ const id = Number(await store.add(e));
867
+ event.id = id;
868
+ }
869
+ finally {
870
+ if (!trx)
871
+ await dbTrx.done;
872
+ }
873
+ return event.id;
874
+ }
875
+ async insertOutput(output, trx) {
876
+ const e = await this.validateEntityForInsert(output, trx);
877
+ if (e.outputId === 0)
878
+ delete e.outputId;
879
+ const dbTrx = this.toDbTrx(['outputs'], 'readwrite', trx);
880
+ const store = dbTrx.objectStore('outputs');
881
+ try {
882
+ const id = Number(await store.add(e));
883
+ output.outputId = id;
884
+ }
885
+ finally {
886
+ if (!trx)
887
+ await dbTrx.done;
888
+ }
889
+ return output.outputId;
890
+ }
891
+ async insertOutputBasket(basket, trx) {
892
+ const e = await this.validateEntityForInsert(basket, trx, undefined, ['isDeleted']);
893
+ if (e.basketId === 0)
894
+ delete e.basketId;
895
+ const dbTrx = this.toDbTrx(['output_baskets'], 'readwrite', trx);
896
+ const store = dbTrx.objectStore('output_baskets');
897
+ try {
898
+ const id = Number(await store.add(e));
899
+ basket.basketId = id;
900
+ }
901
+ finally {
902
+ if (!trx)
903
+ await dbTrx.done;
904
+ }
905
+ return basket.basketId;
906
+ }
907
+ async insertOutputTag(tag, trx) {
908
+ const e = await this.validateEntityForInsert(tag, trx, undefined, ['isDeleted']);
909
+ if (e.outputTagId === 0)
910
+ delete e.outputTagId;
911
+ const dbTrx = this.toDbTrx(['output_tags'], 'readwrite', trx);
912
+ const store = dbTrx.objectStore('output_tags');
913
+ try {
914
+ const id = Number(await store.add(e));
915
+ tag.outputTagId = id;
916
+ }
917
+ finally {
918
+ if (!trx)
919
+ await dbTrx.done;
920
+ }
921
+ return tag.outputTagId;
922
+ }
923
+ async insertOutputTagMap(tagMap, trx) {
924
+ const e = await this.validateEntityForInsert(tagMap, trx, undefined, ['isDeleted']);
925
+ const dbTrx = this.toDbTrx(['output_tags_map'], 'readwrite', trx);
926
+ const store = dbTrx.objectStore('output_tags_map');
927
+ try {
928
+ await store.add(e);
929
+ }
930
+ finally {
931
+ if (!trx)
932
+ await dbTrx.done;
933
+ }
934
+ }
935
+ async insertProvenTx(tx, trx) {
936
+ const e = await this.validateEntityForInsert(tx, trx);
937
+ if (e.provenTxId === 0)
938
+ delete e.provenTxId;
939
+ const dbTrx = this.toDbTrx(['proven_txs'], 'readwrite', trx);
940
+ const store = dbTrx.objectStore('proven_txs');
941
+ try {
942
+ const id = Number(await store.add(e));
943
+ tx.provenTxId = id;
944
+ }
945
+ finally {
946
+ if (!trx)
947
+ await dbTrx.done;
948
+ }
949
+ return tx.provenTxId;
950
+ }
951
+ async insertProvenTxReq(tx, trx) {
952
+ const e = await this.validateEntityForInsert(tx, trx);
953
+ if (e.provenTxReqId === 0)
954
+ delete e.provenTxReqId;
955
+ const dbTrx = this.toDbTrx(['proven_tx_reqs'], 'readwrite', trx);
956
+ const store = dbTrx.objectStore('proven_tx_reqs');
957
+ try {
958
+ const id = Number(await store.add(e));
959
+ tx.provenTxReqId = id;
960
+ }
961
+ finally {
962
+ if (!trx)
963
+ await dbTrx.done;
964
+ }
965
+ return tx.provenTxReqId;
966
+ }
967
+ async insertSyncState(syncState, trx) {
968
+ const e = await this.validateEntityForInsert(syncState, trx, ['when'], ['init']);
969
+ if (e.syncStateId === 0)
970
+ delete e.syncStateId;
971
+ const dbTrx = this.toDbTrx(['sync_states'], 'readwrite', trx);
972
+ const store = dbTrx.objectStore('sync_states');
973
+ try {
974
+ const id = Number(await store.add(e));
975
+ syncState.syncStateId = id;
976
+ }
977
+ finally {
978
+ if (!trx)
979
+ await dbTrx.done;
980
+ }
981
+ return syncState.syncStateId;
982
+ }
983
+ async insertTransaction(tx, trx) {
984
+ const e = await this.validateEntityForInsert(tx, trx);
985
+ if (e.transactionId === 0)
986
+ delete e.transactionId;
987
+ const dbTrx = this.toDbTrx(['transactions'], 'readwrite', trx);
988
+ const store = dbTrx.objectStore('transactions');
989
+ try {
990
+ const id = Number(await store.add(e));
991
+ tx.transactionId = id;
992
+ }
993
+ finally {
994
+ if (!trx)
995
+ await dbTrx.done;
996
+ }
997
+ return tx.transactionId;
998
+ }
999
+ async insertTxLabel(label, trx) {
1000
+ const e = await this.validateEntityForInsert(label, trx, undefined, ['isDeleted']);
1001
+ if (e.txLabelId === 0)
1002
+ delete e.txLabelId;
1003
+ const dbTrx = this.toDbTrx(['tx_labels'], 'readwrite', trx);
1004
+ const store = dbTrx.objectStore('tx_labels');
1005
+ try {
1006
+ const id = Number(await store.add(e));
1007
+ label.txLabelId = id;
1008
+ }
1009
+ finally {
1010
+ if (!trx)
1011
+ await dbTrx.done;
1012
+ }
1013
+ return label.txLabelId;
1014
+ }
1015
+ async insertTxLabelMap(labelMap, trx) {
1016
+ const e = await this.validateEntityForInsert(labelMap, trx, undefined, ['isDeleted']);
1017
+ const dbTrx = this.toDbTrx(['tx_labels_map'], 'readwrite', trx);
1018
+ const store = dbTrx.objectStore('tx_labels_map');
1019
+ try {
1020
+ await store.add(e);
1021
+ }
1022
+ finally {
1023
+ if (!trx)
1024
+ await dbTrx.done;
1025
+ }
1026
+ }
1027
+ async insertUser(user, trx) {
1028
+ const e = await this.validateEntityForInsert(user, trx);
1029
+ if (e.userId === 0)
1030
+ delete e.userId;
1031
+ const dbTrx = this.toDbTrx(['users'], 'readwrite', trx);
1032
+ const store = dbTrx.objectStore('users');
1033
+ try {
1034
+ const id = Number(await store.add(e));
1035
+ user.userId = id;
1036
+ }
1037
+ finally {
1038
+ if (!trx)
1039
+ await dbTrx.done;
1040
+ }
1041
+ return user.userId;
1042
+ }
1043
+ async updateIdb(id, update, keyProp, storeName, trx) {
1044
+ if (update[keyProp] !== undefined && (Array.isArray(id) || update[keyProp] !== id)) {
1045
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(`update.${keyProp}`, `undefined`);
1046
+ }
1047
+ const u = this.validatePartialForUpdate(update);
1048
+ const dbTrx = this.toDbTrx([storeName], 'readwrite', trx);
1049
+ let store;
1050
+ try {
1051
+ store = dbTrx.objectStore(storeName);
1052
+ }
1053
+ catch (e) {
1054
+ console.error(`[StorageIdb.updateIdb] objectStore('${storeName}') failed for id=${JSON.stringify(id)}, trx=${!!trx}:`, e);
1055
+ throw e;
1056
+ }
1057
+ const ids = Array.isArray(id) ? id : [id];
1058
+ try {
1059
+ for (const i of ids) {
1060
+ const e = await store.get(i);
1061
+ if (!e)
1062
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('id', `an existing record to update ${keyProp} ${i} not found`);
1063
+ const v = {
1064
+ ...e,
1065
+ ...u
1066
+ };
1067
+ const uid = await store.put(v);
1068
+ if (uid !== i)
1069
+ throw new WERR_errors_1.WERR_INTERNAL(`updated id ${uid} does not match original ${id}`);
1070
+ }
1071
+ }
1072
+ finally {
1073
+ if (!trx)
1074
+ await dbTrx.done;
1075
+ }
1076
+ return 1;
1077
+ }
1078
+ async updateIdbKey(key, update, keyProps, storeName, trx) {
1079
+ if (key.length !== keyProps.length)
1080
+ throw new WERR_errors_1.WERR_INTERNAL(`key.length ${key.length} !== keyProps.length ${keyProps.length}`);
1081
+ for (let i = 0; i < key.length; i++) {
1082
+ if (update[keyProps[i]] !== undefined && update[keyProps[i]] !== key[i]) {
1083
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(`update.${keyProps[i]}`, `undefined`);
1084
+ }
1085
+ }
1086
+ const u = this.validatePartialForUpdate(update);
1087
+ const dbTrx = this.toDbTrx([storeName], 'readwrite', trx);
1088
+ const store = dbTrx.objectStore(storeName);
1089
+ try {
1090
+ const e = await store.get(key);
1091
+ if (!e)
1092
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('key', `an existing record to update ${keyProps.join(',')} ${key.join(',')} not found`);
1093
+ const v = {
1094
+ ...e,
1095
+ ...u
1096
+ };
1097
+ const uid = await store.put(v);
1098
+ for (let i = 0; i < key.length; i++) {
1099
+ if (uid[i] !== key[i])
1100
+ throw new WERR_errors_1.WERR_INTERNAL(`updated key ${uid[i]} does not match original ${key[i]}`);
1101
+ }
1102
+ }
1103
+ finally {
1104
+ if (!trx)
1105
+ await dbTrx.done;
1106
+ }
1107
+ return 1;
1108
+ }
1109
+ async updateCertificate(id, update, trx) {
1110
+ return this.updateIdb(id, update, 'certificateId', 'certificates', trx);
1111
+ }
1112
+ async updateCertificateField(certificateId, fieldName, update, trx) {
1113
+ return this.updateIdbKey([certificateId, fieldName], update, ['certificateId', 'fieldName'], 'certificate_fields', trx);
1114
+ }
1115
+ async updateCommission(id, update, trx) {
1116
+ return this.updateIdb(id, update, 'commissionId', 'commissions', trx);
1117
+ }
1118
+ async updateMonitorEvent(id, update, trx) {
1119
+ return this.updateIdb(id, update, 'id', 'monitor_events', trx);
1120
+ }
1121
+ async updateOutput(id, update, trx) {
1122
+ return this.updateIdb(id, update, 'outputId', 'outputs', trx);
1123
+ }
1124
+ async updateOutputBasket(id, update, trx) {
1125
+ return this.updateIdb(id, update, 'basketId', 'output_baskets', trx);
1126
+ }
1127
+ async updateOutputTag(id, update, trx) {
1128
+ return this.updateIdb(id, update, 'outputTagId', 'output_tags', trx);
1129
+ }
1130
+ async updateProvenTx(id, update, trx) {
1131
+ return this.updateIdb(id, update, 'provenTxId', 'proven_txs', trx);
1132
+ }
1133
+ async updateProvenTxReq(id, update, trx) {
1134
+ return this.updateIdb(id, update, 'provenTxReqId', 'proven_tx_reqs', trx);
1135
+ }
1136
+ async updateSyncState(id, update, trx) {
1137
+ return this.updateIdb(id, update, 'syncStateId', 'sync_states', trx);
1138
+ }
1139
+ async updateTransaction(id, update, trx) {
1140
+ return this.updateIdb(id, update, 'transactionId', 'transactions', trx);
1141
+ }
1142
+ async updateTxLabel(id, update, trx) {
1143
+ return this.updateIdb(id, update, 'txLabelId', 'tx_labels', trx);
1144
+ }
1145
+ async updateUser(id, update, trx) {
1146
+ return this.updateIdb(id, update, 'userId', 'users', trx);
1147
+ }
1148
+ async updateOutputTagMap(outputId, tagId, update, trx) {
1149
+ return this.updateIdbKey([tagId, outputId], update, ['outputTagId', 'outputId'], 'output_tags_map', trx);
1150
+ }
1151
+ async updateTxLabelMap(transactionId, txLabelId, update, trx) {
1152
+ return this.updateIdbKey([txLabelId, transactionId], update, ['txLabelId', 'transactionId'], 'tx_labels_map', trx);
1153
+ }
1154
+ //
1155
+ // StorageReader abstract methods
1156
+ //
1157
+ async destroy() {
1158
+ if (this.db) {
1159
+ this.db.close();
1160
+ }
1161
+ this.db = undefined;
1162
+ this._settings = undefined;
1163
+ }
1164
+ /**
1165
+ * @param scope
1166
+ * @param trx
1167
+ * @returns
1168
+ */
1169
+ async transaction(scope, trx) {
1170
+ if (trx)
1171
+ return await scope(trx);
1172
+ const stores = this.allStores;
1173
+ const db = await this.verifyDB();
1174
+ const tx = db.transaction(stores, 'readwrite');
1175
+ try {
1176
+ const r = await scope(tx);
1177
+ await tx.done;
1178
+ return r;
1179
+ }
1180
+ catch (err) {
1181
+ // Log more detail about transaction errors to help debug IDB issues
1182
+ console.error('[StorageIdb] Transaction error:', err instanceof Error ? err.message : err);
1183
+ try {
1184
+ tx.abort();
1185
+ }
1186
+ catch (abortErr) {
1187
+ console.error('[StorageIdb] Error aborting transaction:', abortErr);
1188
+ }
1189
+ await tx.done;
1190
+ throw err;
1191
+ }
1192
+ }
1193
+ async filterCertificateFields(args, filtered) {
1194
+ var _a, _b, _c, _d;
1195
+ const offset = ((_a = args.paged) === null || _a === void 0 ? void 0 : _a.offset) || 0;
1196
+ let skipped = 0;
1197
+ let count = 0;
1198
+ const dbTrx = this.toDbTrx(['certificate_fields'], 'readonly', args.trx);
1199
+ let cursor;
1200
+ if (((_b = args.partial) === null || _b === void 0 ? void 0 : _b.certificateId) !== undefined) {
1201
+ cursor = await dbTrx
1202
+ .objectStore('certificate_fields')
1203
+ .index('certificateId')
1204
+ .openCursor(args.partial.certificateId);
1205
+ }
1206
+ else if (((_c = args.partial) === null || _c === void 0 ? void 0 : _c.userId) !== undefined) {
1207
+ cursor = await dbTrx.objectStore('certificate_fields').index('userId').openCursor(args.partial.userId);
1208
+ }
1209
+ else {
1210
+ cursor = await dbTrx.objectStore('certificate_fields').openCursor();
1211
+ }
1212
+ let firstTime = true;
1213
+ while (cursor) {
1214
+ if (!firstTime)
1215
+ cursor = await cursor.continue();
1216
+ if (!cursor)
1217
+ break;
1218
+ firstTime = false;
1219
+ const r = cursor.value;
1220
+ if (args.since && args.since > r.updated_at)
1221
+ continue;
1222
+ if (args.partial) {
1223
+ if (args.partial.userId && r.userId !== args.partial.userId)
1224
+ continue;
1225
+ if (args.partial.certificateId && r.certificateId !== args.partial.certificateId)
1226
+ continue;
1227
+ if (args.partial.created_at && r.created_at.getTime() !== args.partial.created_at.getTime())
1228
+ continue;
1229
+ if (args.partial.updated_at && r.updated_at.getTime() !== args.partial.updated_at.getTime())
1230
+ continue;
1231
+ if (args.partial.fieldName && r.fieldName !== args.partial.fieldName)
1232
+ continue;
1233
+ if (args.partial.fieldValue && r.fieldValue !== args.partial.fieldValue)
1234
+ continue;
1235
+ if (args.partial.masterKey && r.masterKey !== args.partial.masterKey)
1236
+ continue;
1237
+ }
1238
+ if (skipped < offset) {
1239
+ skipped++;
1240
+ continue;
1241
+ }
1242
+ filtered(r);
1243
+ count++;
1244
+ if (((_d = args.paged) === null || _d === void 0 ? void 0 : _d.limit) && count >= args.paged.limit)
1245
+ break;
1246
+ }
1247
+ if (!args.trx)
1248
+ await dbTrx.done;
1249
+ }
1250
+ async findCertificateFields(args) {
1251
+ const result = [];
1252
+ await this.filterCertificateFields(args, r => {
1253
+ result.push(this.validateEntity(r));
1254
+ });
1255
+ return result;
1256
+ }
1257
+ async filterCertificates(args, filtered) {
1258
+ var _a, _b, _c, _d, _e, _f, _g;
1259
+ const offset = ((_a = args.paged) === null || _a === void 0 ? void 0 : _a.offset) || 0;
1260
+ let skipped = 0;
1261
+ let count = 0;
1262
+ const dbTrx = this.toDbTrx(['certificates'], 'readonly', args.trx);
1263
+ let cursor;
1264
+ if ((_b = args.partial) === null || _b === void 0 ? void 0 : _b.certificateId) {
1265
+ cursor = await dbTrx.objectStore('certificates').openCursor(args.partial.certificateId);
1266
+ }
1267
+ else if (((_c = args.partial) === null || _c === void 0 ? void 0 : _c.userId) !== undefined) {
1268
+ if (((_d = args.partial) === null || _d === void 0 ? void 0 : _d.type) && ((_e = args.partial) === null || _e === void 0 ? void 0 : _e.certifier) && ((_f = args.partial) === null || _f === void 0 ? void 0 : _f.serialNumber)) {
1269
+ cursor = await dbTrx
1270
+ .objectStore('certificates')
1271
+ .index('userId_type_certifier_serialNumber')
1272
+ .openCursor([args.partial.userId, args.partial.type, args.partial.certifier, args.partial.serialNumber]);
1273
+ }
1274
+ else {
1275
+ cursor = await dbTrx.objectStore('certificates').index('userId').openCursor(args.partial.userId);
1276
+ }
1277
+ }
1278
+ else {
1279
+ cursor = await dbTrx.objectStore('certificates').openCursor();
1280
+ }
1281
+ let firstTime = true;
1282
+ while (cursor) {
1283
+ if (!firstTime)
1284
+ cursor = await cursor.continue();
1285
+ if (!cursor)
1286
+ break;
1287
+ firstTime = false;
1288
+ const r = cursor.value;
1289
+ if (args.since && args.since > r.updated_at)
1290
+ continue;
1291
+ if (args.certifiers && !args.certifiers.includes(r.certifier))
1292
+ continue;
1293
+ if (args.types && !args.types.includes(r.type))
1294
+ continue;
1295
+ if (args.partial) {
1296
+ if (args.partial.userId && r.userId !== args.partial.userId)
1297
+ continue;
1298
+ if (args.partial.certificateId && r.certificateId !== args.partial.certificateId)
1299
+ continue;
1300
+ if (args.partial.created_at && r.created_at.getTime() !== args.partial.created_at.getTime())
1301
+ continue;
1302
+ if (args.partial.updated_at && r.updated_at.getTime() !== args.partial.updated_at.getTime())
1303
+ continue;
1304
+ if (args.partial.type && r.type !== args.partial.type)
1305
+ continue;
1306
+ if (args.partial.serialNumber && r.serialNumber !== args.partial.serialNumber)
1307
+ continue;
1308
+ if (args.partial.certifier && r.certifier !== args.partial.certifier)
1309
+ continue;
1310
+ if (args.partial.subject && r.subject !== args.partial.subject)
1311
+ continue;
1312
+ if (args.partial.verifier && r.verifier !== args.partial.verifier)
1313
+ continue;
1314
+ if (args.partial.revocationOutpoint && r.revocationOutpoint !== args.partial.revocationOutpoint)
1315
+ continue;
1316
+ if (args.partial.signature && r.signature !== args.partial.signature)
1317
+ continue;
1318
+ if (args.partial.isDeleted && r.isDeleted !== args.partial.isDeleted)
1319
+ continue;
1320
+ }
1321
+ if (skipped < offset) {
1322
+ skipped++;
1323
+ continue;
1324
+ }
1325
+ filtered(r);
1326
+ count++;
1327
+ if (((_g = args.paged) === null || _g === void 0 ? void 0 : _g.limit) && count >= args.paged.limit)
1328
+ break;
1329
+ }
1330
+ if (!args.trx)
1331
+ await dbTrx.done;
1332
+ }
1333
+ async findCertificates(args) {
1334
+ const result = [];
1335
+ await this.filterCertificates(args, r => {
1336
+ result.push(this.validateEntity(r));
1337
+ });
1338
+ if (args.includeFields) {
1339
+ for (const c of result) {
1340
+ const fields = await this.findCertificateFields({ partial: { certificateId: c.certificateId }, trx: args.trx });
1341
+ c.fields = fields;
1342
+ }
1343
+ }
1344
+ return result;
1345
+ }
1346
+ async filterCommissions(args, filtered) {
1347
+ var _a, _b, _c, _d, _e;
1348
+ if (args.partial.lockingScript)
1349
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('partial.lockingScript', `undefined. Commissions may not be found by lockingScript value.`);
1350
+ const offset = ((_a = args.paged) === null || _a === void 0 ? void 0 : _a.offset) || 0;
1351
+ let skipped = 0;
1352
+ let count = 0;
1353
+ const dbTrx = this.toDbTrx(['commissions'], 'readonly', args.trx);
1354
+ let cursor;
1355
+ if ((_b = args.partial) === null || _b === void 0 ? void 0 : _b.commissionId) {
1356
+ cursor = await dbTrx.objectStore('commissions').openCursor(args.partial.commissionId);
1357
+ }
1358
+ else if (((_c = args.partial) === null || _c === void 0 ? void 0 : _c.userId) !== undefined) {
1359
+ cursor = await dbTrx.objectStore('commissions').index('userId').openCursor(args.partial.userId);
1360
+ }
1361
+ else if (((_d = args.partial) === null || _d === void 0 ? void 0 : _d.transactionId) !== undefined) {
1362
+ cursor = await dbTrx.objectStore('commissions').index('transactionId').openCursor(args.partial.transactionId);
1363
+ }
1364
+ else {
1365
+ cursor = await dbTrx.objectStore('commissions').openCursor();
1366
+ }
1367
+ let firstTime = true;
1368
+ while (cursor) {
1369
+ if (!firstTime)
1370
+ cursor = await cursor.continue();
1371
+ if (!cursor)
1372
+ break;
1373
+ firstTime = false;
1374
+ const r = cursor.value;
1375
+ if (args.since && args.since > r.updated_at)
1376
+ continue;
1377
+ if (args.partial) {
1378
+ if (args.partial.commissionId && r.commissionId !== args.partial.commissionId)
1379
+ continue;
1380
+ if (args.partial.transactionId && r.transactionId !== args.partial.transactionId)
1381
+ continue;
1382
+ if (args.partial.userId && r.userId !== args.partial.userId)
1383
+ continue;
1384
+ if (args.partial.created_at && r.created_at.getTime() !== args.partial.created_at.getTime())
1385
+ continue;
1386
+ if (args.partial.updated_at && r.updated_at.getTime() !== args.partial.updated_at.getTime())
1387
+ continue;
1388
+ if (args.partial.satoshis !== undefined && r.satoshis !== args.partial.satoshis)
1389
+ continue;
1390
+ if (args.partial.keyOffset && r.keyOffset !== args.partial.keyOffset)
1391
+ continue;
1392
+ if (args.partial.isRedeemed !== undefined && r.isRedeemed !== args.partial.isRedeemed)
1393
+ continue;
1394
+ }
1395
+ if (skipped < offset) {
1396
+ skipped++;
1397
+ continue;
1398
+ }
1399
+ filtered(r);
1400
+ count++;
1401
+ if (((_e = args.paged) === null || _e === void 0 ? void 0 : _e.limit) && count >= args.paged.limit)
1402
+ break;
1403
+ }
1404
+ if (!args.trx)
1405
+ await dbTrx.done;
1406
+ }
1407
+ async findCommissions(args) {
1408
+ const result = [];
1409
+ await this.filterCommissions(args, r => {
1410
+ result.push(this.validateEntity(r));
1411
+ });
1412
+ return result;
1413
+ }
1414
+ async filterMonitorEvents(args, filtered) {
1415
+ var _a, _b, _c;
1416
+ const offset = ((_a = args.paged) === null || _a === void 0 ? void 0 : _a.offset) || 0;
1417
+ let skipped = 0;
1418
+ let count = 0;
1419
+ const dbTrx = this.toDbTrx(['monitor_events'], 'readonly', args.trx);
1420
+ let cursor;
1421
+ if ((_b = args.partial) === null || _b === void 0 ? void 0 : _b.id) {
1422
+ cursor = await dbTrx.objectStore('monitor_events').openCursor(args.partial.id);
1423
+ }
1424
+ else {
1425
+ cursor = await dbTrx.objectStore('monitor_events').openCursor();
1426
+ }
1427
+ let firstTime = true;
1428
+ while (cursor) {
1429
+ if (!firstTime)
1430
+ cursor = await cursor.continue();
1431
+ if (!cursor)
1432
+ break;
1433
+ firstTime = false;
1434
+ const r = cursor.value;
1435
+ if (args.since && args.since > r.updated_at)
1436
+ continue;
1437
+ if (args.partial) {
1438
+ if (args.partial.id && r.id !== args.partial.id)
1439
+ continue;
1440
+ if (args.partial.created_at && r.created_at.getTime() !== args.partial.created_at.getTime())
1441
+ continue;
1442
+ if (args.partial.updated_at && r.updated_at.getTime() !== args.partial.updated_at.getTime())
1443
+ continue;
1444
+ if (args.partial.event && r.event !== args.partial.event)
1445
+ continue;
1446
+ if (args.partial.details && r.details !== args.partial.details)
1447
+ continue;
1448
+ }
1449
+ if (skipped < offset) {
1450
+ skipped++;
1451
+ continue;
1452
+ }
1453
+ filtered(r);
1454
+ count++;
1455
+ if (((_c = args.paged) === null || _c === void 0 ? void 0 : _c.limit) && count >= args.paged.limit)
1456
+ break;
1457
+ }
1458
+ if (!args.trx)
1459
+ await dbTrx.done;
1460
+ }
1461
+ async findMonitorEvents(args) {
1462
+ const result = [];
1463
+ await this.filterMonitorEvents(args, r => {
1464
+ result.push(this.validateEntity(r));
1465
+ });
1466
+ return result;
1467
+ }
1468
+ async filterOutputBaskets(args, filtered) {
1469
+ var _a, _b, _c, _d, _e;
1470
+ const offset = ((_a = args.paged) === null || _a === void 0 ? void 0 : _a.offset) || 0;
1471
+ let skipped = 0;
1472
+ let count = 0;
1473
+ const dbTrx = this.toDbTrx(['output_baskets'], 'readonly', args.trx);
1474
+ let cursor;
1475
+ if ((_b = args.partial) === null || _b === void 0 ? void 0 : _b.basketId) {
1476
+ cursor = await dbTrx.objectStore('output_baskets').openCursor(args.partial.basketId);
1477
+ }
1478
+ else if (((_c = args.partial) === null || _c === void 0 ? void 0 : _c.userId) !== undefined) {
1479
+ if (((_d = args.partial) === null || _d === void 0 ? void 0 : _d.name) !== undefined) {
1480
+ cursor = await dbTrx
1481
+ .objectStore('output_baskets')
1482
+ .index('name_userId')
1483
+ .openCursor([args.partial.name, args.partial.userId]);
1484
+ }
1485
+ else {
1486
+ cursor = await dbTrx.objectStore('output_baskets').index('userId').openCursor(args.partial.userId);
1487
+ }
1488
+ }
1489
+ else {
1490
+ cursor = await dbTrx.objectStore('output_baskets').openCursor();
1491
+ }
1492
+ let firstTime = true;
1493
+ while (cursor) {
1494
+ if (!firstTime)
1495
+ cursor = await cursor.continue();
1496
+ if (!cursor)
1497
+ break;
1498
+ firstTime = false;
1499
+ const r = cursor.value;
1500
+ if (args.since && args.since > r.updated_at)
1501
+ continue;
1502
+ if (args.partial) {
1503
+ if (args.partial.basketId && r.basketId !== args.partial.basketId)
1504
+ continue;
1505
+ if (args.partial.userId && r.userId !== args.partial.userId)
1506
+ continue;
1507
+ if (args.partial.created_at && r.created_at.getTime() !== args.partial.created_at.getTime())
1508
+ continue;
1509
+ if (args.partial.updated_at && r.updated_at.getTime() !== args.partial.updated_at.getTime())
1510
+ continue;
1511
+ if (args.partial.name && r.name !== args.partial.name)
1512
+ continue;
1513
+ if (args.partial.numberOfDesiredUTXOs !== undefined &&
1514
+ r.numberOfDesiredUTXOs !== args.partial.numberOfDesiredUTXOs)
1515
+ continue;
1516
+ if (args.partial.minimumDesiredUTXOValue !== undefined &&
1517
+ r.numberOfDesiredSatoshis !== args.partial.minimumDesiredUTXOValue)
1518
+ continue;
1519
+ if (args.partial.isDeleted !== undefined && r.isDeleted !== args.partial.isDeleted)
1520
+ continue;
1521
+ }
1522
+ if (skipped < offset) {
1523
+ skipped++;
1524
+ continue;
1525
+ }
1526
+ filtered(r);
1527
+ count++;
1528
+ if (((_e = args.paged) === null || _e === void 0 ? void 0 : _e.limit) && count >= args.paged.limit)
1529
+ break;
1530
+ }
1531
+ if (!args.trx)
1532
+ await dbTrx.done;
1533
+ }
1534
+ async findOutputBaskets(args) {
1535
+ const result = [];
1536
+ await this.filterOutputBaskets(args, r => {
1537
+ result.push(this.validateEntity(r));
1538
+ });
1539
+ return result;
1540
+ }
1541
+ async filterOutputs(args, filtered, tagIds, isQueryModeAll) {
1542
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
1543
+ // args.txStatus
1544
+ // args.noScript
1545
+ if (args.partial.lockingScript)
1546
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.lockingScript', `undefined. Outputs may not be found by lockingScript value.`);
1547
+ const offset = ((_a = args.paged) === null || _a === void 0 ? void 0 : _a.offset) || 0;
1548
+ let skipped = 0;
1549
+ let count = 0;
1550
+ const stores = ['outputs'];
1551
+ if (tagIds && tagIds.length > 0) {
1552
+ stores.push('output_tags_map');
1553
+ }
1554
+ if (args.txStatus) {
1555
+ stores.push('transactions');
1556
+ }
1557
+ const dbTrx = this.toDbTrx(stores, 'readonly', args.trx);
1558
+ let cursor;
1559
+ if ((_b = args.partial) === null || _b === void 0 ? void 0 : _b.outputId) {
1560
+ cursor = await dbTrx.objectStore('outputs').openCursor(args.partial.outputId);
1561
+ }
1562
+ else if (((_c = args.partial) === null || _c === void 0 ? void 0 : _c.userId) !== undefined) {
1563
+ if (((_d = args.partial) === null || _d === void 0 ? void 0 : _d.transactionId) && ((_e = args.partial) === null || _e === void 0 ? void 0 : _e.vout) !== undefined) {
1564
+ cursor = await dbTrx
1565
+ .objectStore('outputs')
1566
+ .index('transactionId_vout_userId')
1567
+ .openCursor([args.partial.transactionId, args.partial.vout, args.partial.userId]);
1568
+ }
1569
+ else {
1570
+ cursor = await dbTrx.objectStore('outputs').index('userId').openCursor(args.partial.userId);
1571
+ }
1572
+ }
1573
+ else if (((_f = args.partial) === null || _f === void 0 ? void 0 : _f.transactionId) !== undefined) {
1574
+ cursor = await dbTrx.objectStore('outputs').index('transactionId').openCursor(args.partial.transactionId);
1575
+ }
1576
+ else if (((_g = args.partial) === null || _g === void 0 ? void 0 : _g.basketId) !== undefined) {
1577
+ cursor = await dbTrx.objectStore('outputs').index('basketId').openCursor(args.partial.basketId);
1578
+ }
1579
+ else if (((_h = args.partial) === null || _h === void 0 ? void 0 : _h.spentBy) !== undefined) {
1580
+ cursor = await dbTrx.objectStore('outputs').index('spentBy').openCursor(args.partial.spentBy);
1581
+ }
1582
+ else {
1583
+ cursor = await dbTrx.objectStore('outputs').openCursor();
1584
+ }
1585
+ let firstTime = true;
1586
+ while (cursor) {
1587
+ if (!firstTime)
1588
+ cursor = await cursor.continue();
1589
+ if (!cursor)
1590
+ break;
1591
+ firstTime = false;
1592
+ const r = cursor.value;
1593
+ if (args.since && args.since > r.updated_at)
1594
+ continue;
1595
+ if (args.partial) {
1596
+ if (args.partial.outputId && r.outputId !== args.partial.outputId)
1597
+ continue;
1598
+ if (args.partial.userId && r.userId !== args.partial.userId)
1599
+ continue;
1600
+ if (args.partial.transactionId && r.transactionId !== args.partial.transactionId)
1601
+ continue;
1602
+ if (args.partial.basketId && r.basketId !== args.partial.basketId)
1603
+ continue;
1604
+ if (args.partial.created_at && r.created_at.getTime() !== args.partial.created_at.getTime())
1605
+ continue;
1606
+ if (args.partial.updated_at && r.updated_at.getTime() !== args.partial.updated_at.getTime())
1607
+ continue;
1608
+ if (args.partial.spendable !== undefined && r.spendable !== args.partial.spendable)
1609
+ continue;
1610
+ if (args.partial.change !== undefined && r.change !== args.partial.change)
1611
+ continue;
1612
+ if (args.partial.outputDescription && r.outputDescription !== args.partial.outputDescription)
1613
+ continue;
1614
+ if (args.partial.vout !== undefined && r.vout !== args.partial.vout)
1615
+ continue;
1616
+ if (args.partial.satoshis !== undefined && r.satoshis !== args.partial.satoshis)
1617
+ continue;
1618
+ if (args.partial.providedBy && r.providedBy !== args.partial.providedBy)
1619
+ continue;
1620
+ if (args.partial.purpose && r.purpose !== args.partial.purpose)
1621
+ continue;
1622
+ if (args.partial.type && r.type !== args.partial.type)
1623
+ continue;
1624
+ if (args.partial.txid && r.txid !== args.partial.txid)
1625
+ continue;
1626
+ if (args.partial.senderIdentityKey && r.senderIdentityKey !== args.partial.senderIdentityKey)
1627
+ continue;
1628
+ if (args.partial.derivationPrefix && r.derivationPrefix !== args.partial.derivationPrefix)
1629
+ continue;
1630
+ if (args.partial.derivationSuffix && r.derivationSuffix !== args.partial.derivationSuffix)
1631
+ continue;
1632
+ if (args.partial.customInstructions && r.customInstructions !== args.partial.customInstructions)
1633
+ continue;
1634
+ if (args.partial.spentBy && r.spentBy !== args.partial.spentBy)
1635
+ continue;
1636
+ if (args.partial.sequenceNumber !== undefined && r.sequenceNumber !== args.partial.sequenceNumber)
1637
+ continue;
1638
+ if (args.partial.scriptLength !== undefined && r.scriptLength !== args.partial.scriptLength)
1639
+ continue;
1640
+ if (args.partial.scriptOffset !== undefined && r.scriptOffset !== args.partial.scriptOffset)
1641
+ continue;
1642
+ }
1643
+ if (args.txStatus !== undefined) {
1644
+ const count = await this.countTransactions({
1645
+ partial: { transactionId: r.transactionId },
1646
+ status: args.txStatus,
1647
+ trx: dbTrx
1648
+ });
1649
+ if (count === 0)
1650
+ continue;
1651
+ }
1652
+ if (tagIds && tagIds.length > 0) {
1653
+ let ids = [...tagIds];
1654
+ await this.filterOutputTagMaps({ partial: { outputId: r.outputId }, trx: dbTrx }, tm => {
1655
+ if (ids.length > 0) {
1656
+ const i = ids.indexOf(tm.outputTagId);
1657
+ if (i >= 0) {
1658
+ if (isQueryModeAll) {
1659
+ ids.splice(i, 1);
1660
+ }
1661
+ else {
1662
+ ids = [];
1663
+ }
1664
+ }
1665
+ }
1666
+ });
1667
+ if (ids.length > 0)
1668
+ continue;
1669
+ }
1670
+ if (skipped < offset) {
1671
+ skipped++;
1672
+ continue;
1673
+ }
1674
+ if (args.noScript === true) {
1675
+ r.script = undefined;
1676
+ }
1677
+ filtered(r);
1678
+ count++;
1679
+ if (((_j = args.paged) === null || _j === void 0 ? void 0 : _j.limit) && count >= args.paged.limit)
1680
+ break;
1681
+ }
1682
+ if (!args.trx)
1683
+ await dbTrx.done;
1684
+ }
1685
+ async findOutputs(args, tagIds, isQueryModeAll) {
1686
+ const results = [];
1687
+ await this.filterOutputs(args, r => {
1688
+ results.push(this.validateEntity(r));
1689
+ }, tagIds, isQueryModeAll);
1690
+ for (const o of results) {
1691
+ if (!args.noScript) {
1692
+ // Pass the transaction to avoid creating separate IDB operations
1693
+ // that would cause a passed transaction to auto-commit
1694
+ await this.validateOutputScript(o, args.trx);
1695
+ }
1696
+ else {
1697
+ o.lockingScript = undefined;
1698
+ }
1699
+ }
1700
+ return results;
1701
+ }
1702
+ async filterOutputTags(args, filtered) {
1703
+ var _a, _b, _c, _d, _e;
1704
+ const offset = ((_a = args.paged) === null || _a === void 0 ? void 0 : _a.offset) || 0;
1705
+ let skipped = 0;
1706
+ let count = 0;
1707
+ const dbTrx = this.toDbTrx(['output_tags'], 'readonly', args.trx);
1708
+ let cursor;
1709
+ if ((_b = args.partial) === null || _b === void 0 ? void 0 : _b.outputTagId) {
1710
+ cursor = await dbTrx.objectStore('output_tags').openCursor(args.partial.outputTagId);
1711
+ }
1712
+ else if (((_c = args.partial) === null || _c === void 0 ? void 0 : _c.userId) !== undefined) {
1713
+ if (((_d = args.partial) === null || _d === void 0 ? void 0 : _d.tag) !== undefined) {
1714
+ cursor = await dbTrx
1715
+ .objectStore('output_tags')
1716
+ .index('tag_userId')
1717
+ .openCursor([args.partial.tag, args.partial.userId]);
1718
+ }
1719
+ else {
1720
+ cursor = await dbTrx.objectStore('output_tags').index('userId').openCursor(args.partial.userId);
1721
+ }
1722
+ }
1723
+ else {
1724
+ cursor = await dbTrx.objectStore('output_tags').openCursor();
1725
+ }
1726
+ let firstTime = true;
1727
+ while (cursor) {
1728
+ if (!firstTime)
1729
+ cursor = await cursor.continue();
1730
+ if (!cursor)
1731
+ break;
1732
+ firstTime = false;
1733
+ const r = cursor.value;
1734
+ if (args.since && args.since > r.updated_at)
1735
+ continue;
1736
+ if (args.partial) {
1737
+ if (args.partial.outputTagId && r.outputTagId !== args.partial.outputTagId)
1738
+ continue;
1739
+ if (args.partial.userId && r.userId !== args.partial.userId)
1740
+ continue;
1741
+ if (args.partial.created_at && r.created_at.getTime() !== args.partial.created_at.getTime())
1742
+ continue;
1743
+ if (args.partial.updated_at && r.updated_at.getTime() !== args.partial.updated_at.getTime())
1744
+ continue;
1745
+ if (args.partial.tag && r.tag !== args.partial.tag)
1746
+ continue;
1747
+ if (args.partial.isDeleted !== undefined && r.isDeleted !== args.partial.isDeleted)
1748
+ continue;
1749
+ }
1750
+ if (skipped < offset) {
1751
+ skipped++;
1752
+ continue;
1753
+ }
1754
+ filtered(r);
1755
+ count++;
1756
+ if (((_e = args.paged) === null || _e === void 0 ? void 0 : _e.limit) && count >= args.paged.limit)
1757
+ break;
1758
+ }
1759
+ if (!args.trx)
1760
+ await dbTrx.done;
1761
+ }
1762
+ async findOutputTags(args) {
1763
+ const result = [];
1764
+ await this.filterOutputTags(args, r => {
1765
+ result.push(this.validateEntity(r));
1766
+ });
1767
+ return result;
1768
+ }
1769
+ async filterSyncStates(args, filtered) {
1770
+ var _a, _b, _c, _d, _e, _f, _g;
1771
+ if (args.partial.syncMap)
1772
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.syncMap', `undefined. SyncStates may not be found by syncMap value.`);
1773
+ const offset = ((_a = args.paged) === null || _a === void 0 ? void 0 : _a.offset) || 0;
1774
+ let skipped = 0;
1775
+ let count = 0;
1776
+ const dbTrx = this.toDbTrx(['sync_states'], 'readonly', args.trx);
1777
+ let cursor;
1778
+ if ((_b = args.partial) === null || _b === void 0 ? void 0 : _b.syncStateId) {
1779
+ cursor = await dbTrx.objectStore('sync_states').openCursor(args.partial.syncStateId);
1780
+ }
1781
+ else if (((_c = args.partial) === null || _c === void 0 ? void 0 : _c.userId) !== undefined) {
1782
+ cursor = await dbTrx.objectStore('sync_states').index('userId').openCursor(args.partial.userId);
1783
+ }
1784
+ else if (((_d = args.partial) === null || _d === void 0 ? void 0 : _d.refNum) !== undefined) {
1785
+ cursor = await dbTrx.objectStore('sync_states').index('refNum').openCursor(args.partial.refNum);
1786
+ }
1787
+ else if (((_e = args.partial) === null || _e === void 0 ? void 0 : _e.status) !== undefined) {
1788
+ cursor = await dbTrx.objectStore('sync_states').index('status').openCursor(args.partial.status);
1789
+ }
1790
+ else {
1791
+ cursor = await dbTrx.objectStore('sync_states').openCursor();
1792
+ }
1793
+ let firstTime = true;
1794
+ while (cursor) {
1795
+ if (!firstTime)
1796
+ cursor = await cursor.continue();
1797
+ if (!cursor)
1798
+ break;
1799
+ firstTime = false;
1800
+ const r = cursor.value;
1801
+ if (args.since && args.since > r.updated_at)
1802
+ continue;
1803
+ if (args.partial) {
1804
+ if (args.partial.syncStateId && r.syncStateId !== args.partial.syncStateId)
1805
+ continue;
1806
+ if (args.partial.userId && r.userId !== args.partial.userId)
1807
+ continue;
1808
+ if (args.partial.created_at && r.created_at.getTime() !== args.partial.created_at.getTime())
1809
+ continue;
1810
+ if (args.partial.updated_at && r.updated_at.getTime() !== args.partial.updated_at.getTime())
1811
+ continue;
1812
+ if (args.partial.storageIdentityKey && r.storageIdentityKey !== args.partial.storageIdentityKey)
1813
+ continue;
1814
+ if (args.partial.storageName && r.storageName !== args.partial.storageName)
1815
+ continue;
1816
+ if (args.partial.status && r.status !== args.partial.status)
1817
+ continue;
1818
+ if (args.partial.init !== undefined && r.init !== args.partial.init)
1819
+ continue;
1820
+ if (args.partial.refNum !== undefined && r.refNum !== args.partial.refNum)
1821
+ continue;
1822
+ if (args.partial.when && ((_f = r.when) === null || _f === void 0 ? void 0 : _f.getTime()) !== args.partial.when.getTime())
1823
+ continue;
1824
+ if (args.partial.satoshis !== undefined && r.satoshis !== args.partial.satoshis)
1825
+ continue;
1826
+ if (args.partial.errorLocal && r.errorLocale !== args.partial.errorLocal)
1827
+ continue;
1828
+ if (args.partial.errorOther && r.errorOther !== args.partial.errorOther)
1829
+ continue;
1830
+ }
1831
+ if (skipped < offset) {
1832
+ skipped++;
1833
+ continue;
1834
+ }
1835
+ filtered(r);
1836
+ count++;
1837
+ if (((_g = args.paged) === null || _g === void 0 ? void 0 : _g.limit) && count >= args.paged.limit)
1838
+ break;
1839
+ }
1840
+ if (!args.trx)
1841
+ await dbTrx.done;
1842
+ }
1843
+ async findSyncStates(args) {
1844
+ const result = [];
1845
+ await this.filterSyncStates(args, r => {
1846
+ result.push(this.validateEntity(r));
1847
+ });
1848
+ return result;
1849
+ }
1850
+ async filterTransactions(args, filtered, labelIds, isQueryModeAll) {
1851
+ var _a, _b, _c, _d, _e, _f, _g, _h;
1852
+ if (args.partial.rawTx)
1853
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.rawTx', `undefined. Transactions may not be found by rawTx value.`);
1854
+ if (args.partial.inputBEEF)
1855
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.inputBEEF', `undefined. Transactions may not be found by inputBEEF value.`);
1856
+ const offset = ((_a = args.paged) === null || _a === void 0 ? void 0 : _a.offset) || 0;
1857
+ let skipped = 0;
1858
+ let count = 0;
1859
+ const stores = ['transactions'];
1860
+ if (labelIds && labelIds.length > 0) {
1861
+ stores.push('tx_labels_map');
1862
+ }
1863
+ const dbTrx = this.toDbTrx(stores, 'readonly', args.trx);
1864
+ let cursor;
1865
+ if ((_b = args.partial) === null || _b === void 0 ? void 0 : _b.transactionId) {
1866
+ cursor = await dbTrx.objectStore('transactions').openCursor(args.partial.transactionId);
1867
+ }
1868
+ else if (((_c = args.partial) === null || _c === void 0 ? void 0 : _c.userId) !== undefined) {
1869
+ if (((_d = args.partial) === null || _d === void 0 ? void 0 : _d.status) !== undefined) {
1870
+ cursor = await dbTrx
1871
+ .objectStore('transactions')
1872
+ .index('status_userId')
1873
+ .openCursor([args.partial.status, args.partial.userId]);
1874
+ }
1875
+ else {
1876
+ cursor = await dbTrx.objectStore('transactions').index('userId').openCursor(args.partial.userId);
1877
+ }
1878
+ }
1879
+ else if (((_e = args.partial) === null || _e === void 0 ? void 0 : _e.status) !== undefined) {
1880
+ cursor = await dbTrx.objectStore('transactions').index('status').openCursor(args.partial.status);
1881
+ }
1882
+ else if (((_f = args.partial) === null || _f === void 0 ? void 0 : _f.provenTxId) !== undefined) {
1883
+ cursor = await dbTrx.objectStore('transactions').index('provenTxId').openCursor(args.partial.provenTxId);
1884
+ }
1885
+ else if (((_g = args.partial) === null || _g === void 0 ? void 0 : _g.reference) !== undefined) {
1886
+ cursor = await dbTrx.objectStore('transactions').index('reference').openCursor(args.partial.reference);
1887
+ }
1888
+ else {
1889
+ cursor = await dbTrx.objectStore('transactions').openCursor();
1890
+ }
1891
+ let firstTime = true;
1892
+ while (cursor) {
1893
+ if (!firstTime)
1894
+ cursor = await cursor.continue();
1895
+ if (!cursor)
1896
+ break;
1897
+ firstTime = false;
1898
+ const r = cursor.value;
1899
+ if (args.since && args.since > r.updated_at)
1900
+ continue;
1901
+ if (args.status && !args.status.includes(r.status))
1902
+ continue;
1903
+ if (args.partial) {
1904
+ if (args.partial.transactionId && r.transactionId !== args.partial.transactionId)
1905
+ continue;
1906
+ if (args.partial.userId && r.userId !== args.partial.userId)
1907
+ continue;
1908
+ if (args.partial.created_at && r.created_at.getTime() !== args.partial.created_at.getTime())
1909
+ continue;
1910
+ if (args.partial.updated_at && r.updated_at.getTime() !== args.partial.updated_at.getTime())
1911
+ continue;
1912
+ if (args.partial.provenTxId && r.provenTxId !== args.partial.provenTxId)
1913
+ continue;
1914
+ if (args.partial.status && r.status !== args.partial.status)
1915
+ continue;
1916
+ if (args.partial.reference && r.reference !== args.partial.reference)
1917
+ continue;
1918
+ if (args.partial.isOutgoing !== undefined && r.isOutgoing !== args.partial.isOutgoing)
1919
+ continue;
1920
+ if (args.partial.satoshis !== undefined && r.satoshis !== args.partial.satoshis)
1921
+ continue;
1922
+ if (args.partial.description && r.description !== args.partial.description)
1923
+ continue;
1924
+ if (args.partial.version !== undefined && r.version !== args.partial.version)
1925
+ continue;
1926
+ if (args.partial.lockTime !== undefined && r.lockTime !== args.partial.lockTime)
1927
+ continue;
1928
+ if (args.partial.txid && r.txid !== args.partial.txid)
1929
+ continue;
1930
+ }
1931
+ if (labelIds && labelIds.length > 0) {
1932
+ let ids = [...labelIds];
1933
+ await this.filterTxLabelMaps({ partial: { transactionId: r.transactionId }, trx: dbTrx }, lm => {
1934
+ if (ids.length > 0) {
1935
+ const i = ids.indexOf(lm.txLabelId);
1936
+ if (i >= 0) {
1937
+ if (isQueryModeAll) {
1938
+ ids.splice(i, 1);
1939
+ }
1940
+ else {
1941
+ ids = [];
1942
+ }
1943
+ }
1944
+ }
1945
+ });
1946
+ if (ids.length > 0)
1947
+ continue;
1948
+ }
1949
+ if (skipped < offset) {
1950
+ skipped++;
1951
+ continue;
1952
+ }
1953
+ filtered(r);
1954
+ count++;
1955
+ if (((_h = args.paged) === null || _h === void 0 ? void 0 : _h.limit) && count >= args.paged.limit)
1956
+ break;
1957
+ }
1958
+ if (!args.trx)
1959
+ await dbTrx.done;
1960
+ }
1961
+ async findTransactions(args, labelIds, isQueryModeAll) {
1962
+ const results = [];
1963
+ await this.filterTransactions(args, r => {
1964
+ results.push(this.validateEntity(r));
1965
+ }, labelIds, isQueryModeAll);
1966
+ for (const t of results) {
1967
+ if (!args.noRawTx) {
1968
+ await this.validateRawTransaction(t, args.trx);
1969
+ }
1970
+ else {
1971
+ t.rawTx = undefined;
1972
+ t.inputBEEF = undefined;
1973
+ }
1974
+ }
1975
+ return results;
1976
+ }
1977
+ async filterTxLabels(args, filtered) {
1978
+ var _a, _b, _c, _d, _e;
1979
+ const offset = ((_a = args.paged) === null || _a === void 0 ? void 0 : _a.offset) || 0;
1980
+ let skipped = 0;
1981
+ let count = 0;
1982
+ const dbTrx = this.toDbTrx(['tx_labels'], 'readonly', args.trx);
1983
+ let cursor;
1984
+ if ((_b = args.partial) === null || _b === void 0 ? void 0 : _b.txLabelId) {
1985
+ cursor = await dbTrx.objectStore('tx_labels').openCursor(args.partial.txLabelId);
1986
+ }
1987
+ else if (((_c = args.partial) === null || _c === void 0 ? void 0 : _c.userId) !== undefined) {
1988
+ if (((_d = args.partial) === null || _d === void 0 ? void 0 : _d.label) !== undefined) {
1989
+ cursor = await dbTrx
1990
+ .objectStore('tx_labels')
1991
+ .index('label_userId')
1992
+ .openCursor([args.partial.label, args.partial.userId]);
1993
+ }
1994
+ else {
1995
+ cursor = await dbTrx.objectStore('tx_labels').index('userId').openCursor(args.partial.userId);
1996
+ }
1997
+ }
1998
+ else {
1999
+ cursor = await dbTrx.objectStore('tx_labels').openCursor();
2000
+ }
2001
+ let firstTime = true;
2002
+ while (cursor) {
2003
+ if (!firstTime)
2004
+ cursor = await cursor.continue();
2005
+ if (!cursor)
2006
+ break;
2007
+ firstTime = false;
2008
+ const r = cursor.value;
2009
+ if (args.since && args.since > r.updated_at)
2010
+ continue;
2011
+ if (args.partial) {
2012
+ if (args.partial.txLabelId && r.txLabelId !== args.partial.txLabelId)
2013
+ continue;
2014
+ if (args.partial.userId && r.userId !== args.partial.userId)
2015
+ continue;
2016
+ if (args.partial.created_at && r.created_at.getTime() !== args.partial.created_at.getTime())
2017
+ continue;
2018
+ if (args.partial.updated_at && r.updated_at.getTime() !== args.partial.updated_at.getTime())
2019
+ continue;
2020
+ if (args.partial.label && r.label !== args.partial.label)
2021
+ continue;
2022
+ if (args.partial.isDeleted !== undefined && r.isDeleted !== args.partial.isDeleted)
2023
+ continue;
2024
+ }
2025
+ if (skipped < offset) {
2026
+ skipped++;
2027
+ continue;
2028
+ }
2029
+ filtered(r);
2030
+ count++;
2031
+ if (((_e = args.paged) === null || _e === void 0 ? void 0 : _e.limit) && count >= args.paged.limit)
2032
+ break;
2033
+ }
2034
+ if (!args.trx)
2035
+ await dbTrx.done;
2036
+ }
2037
+ async findTxLabels(args) {
2038
+ const result = [];
2039
+ await this.filterTxLabels(args, r => {
2040
+ result.push(this.validateEntity(r));
2041
+ });
2042
+ return result;
2043
+ }
2044
+ async filterUsers(args, filtered) {
2045
+ var _a, _b;
2046
+ const offset = ((_a = args.paged) === null || _a === void 0 ? void 0 : _a.offset) || 0;
2047
+ let skipped = 0;
2048
+ let count = 0;
2049
+ const dbTrx = this.toDbTrx(['users'], 'readonly', args.trx);
2050
+ let cursor = await dbTrx.objectStore('users').openCursor();
2051
+ let firstTime = true;
2052
+ while (cursor) {
2053
+ if (!firstTime)
2054
+ cursor = await cursor.continue();
2055
+ if (!cursor)
2056
+ break;
2057
+ firstTime = false;
2058
+ const r = cursor.value;
2059
+ if (args.since && args.since > r.updated_at)
2060
+ continue;
2061
+ if (args.partial) {
2062
+ if (args.partial.userId && r.userId !== args.partial.userId)
2063
+ continue;
2064
+ if (args.partial.created_at && r.created_at.getTime() !== args.partial.created_at.getTime())
2065
+ continue;
2066
+ if (args.partial.updated_at && r.updated_at.getTime() !== args.partial.updated_at.getTime())
2067
+ continue;
2068
+ if (args.partial.identityKey && r.identityKey !== args.partial.identityKey)
2069
+ continue;
2070
+ if (args.partial.activeStorage && r.activeStorage !== args.partial.activeStorage)
2071
+ continue;
2072
+ }
2073
+ if (skipped < offset) {
2074
+ skipped++;
2075
+ continue;
2076
+ }
2077
+ filtered(r);
2078
+ count++;
2079
+ if (((_b = args.paged) === null || _b === void 0 ? void 0 : _b.limit) && count >= args.paged.limit)
2080
+ break;
2081
+ }
2082
+ if (!args.trx)
2083
+ await dbTrx.done;
2084
+ }
2085
+ async findUsers(args) {
2086
+ const result = [];
2087
+ await this.filterUsers(args, r => {
2088
+ result.push(this.validateEntity(r));
2089
+ });
2090
+ return result;
2091
+ }
2092
+ async countCertificateFields(args) {
2093
+ let count = 0;
2094
+ await this.filterCertificateFields(args, () => {
2095
+ count++;
2096
+ });
2097
+ return count;
2098
+ }
2099
+ async countCertificates(args) {
2100
+ let count = 0;
2101
+ await this.filterCertificates(args, () => {
2102
+ count++;
2103
+ });
2104
+ return count;
2105
+ }
2106
+ async countCommissions(args) {
2107
+ let count = 0;
2108
+ await this.filterCommissions(args, () => {
2109
+ count++;
2110
+ });
2111
+ return count;
2112
+ }
2113
+ async countMonitorEvents(args) {
2114
+ let count = 0;
2115
+ await this.filterMonitorEvents(args, () => {
2116
+ count++;
2117
+ });
2118
+ return count;
2119
+ }
2120
+ async countOutputBaskets(args) {
2121
+ let count = 0;
2122
+ await this.filterOutputBaskets(args, () => {
2123
+ count++;
2124
+ });
2125
+ return count;
2126
+ }
2127
+ async countOutputs(args, tagIds, isQueryModeAll) {
2128
+ let count = 0;
2129
+ await this.filterOutputs({ ...args, noScript: true }, () => {
2130
+ count++;
2131
+ }, tagIds, isQueryModeAll);
2132
+ return count;
2133
+ }
2134
+ async countOutputTags(args) {
2135
+ let count = 0;
2136
+ await this.filterOutputTags(args, () => {
2137
+ count++;
2138
+ });
2139
+ return count;
2140
+ }
2141
+ async countSyncStates(args) {
2142
+ let count = 0;
2143
+ await this.filterSyncStates(args, () => {
2144
+ count++;
2145
+ });
2146
+ return count;
2147
+ }
2148
+ async countTransactions(args, labelIds, isQueryModeAll) {
2149
+ let count = 0;
2150
+ await this.filterTransactions({ ...args, noRawTx: true }, () => {
2151
+ count++;
2152
+ }, labelIds, isQueryModeAll);
2153
+ return count;
2154
+ }
2155
+ async countTxLabels(args) {
2156
+ let count = 0;
2157
+ await this.filterTxLabels(args, () => {
2158
+ count++;
2159
+ });
2160
+ return count;
2161
+ }
2162
+ async countUsers(args) {
2163
+ let count = 0;
2164
+ await this.filterUsers(args, () => {
2165
+ count++;
2166
+ });
2167
+ return count;
2168
+ }
2169
+ async getProvenTxsForUser(args) {
2170
+ const results = [];
2171
+ const fargs = {
2172
+ partial: {},
2173
+ since: args.since,
2174
+ paged: args.paged,
2175
+ trx: args.trx
2176
+ };
2177
+ await this.filterProvenTxs(fargs, r => {
2178
+ results.push(this.validateEntity(r));
2179
+ }, args.userId);
2180
+ return results;
2181
+ }
2182
+ async getProvenTxReqsForUser(args) {
2183
+ const results = [];
2184
+ const fargs = {
2185
+ partial: {},
2186
+ since: args.since,
2187
+ paged: args.paged,
2188
+ trx: args.trx
2189
+ };
2190
+ await this.filterProvenTxReqs(fargs, r => {
2191
+ results.push(this.validateEntity(r));
2192
+ }, args.userId);
2193
+ return results;
2194
+ }
2195
+ async getTxLabelMapsForUser(args) {
2196
+ const results = [];
2197
+ const fargs = {
2198
+ partial: {},
2199
+ since: args.since,
2200
+ paged: args.paged,
2201
+ trx: args.trx
2202
+ };
2203
+ await this.filterTxLabelMaps(fargs, r => {
2204
+ results.push(this.validateEntity(r));
2205
+ }, args.userId);
2206
+ return results;
2207
+ }
2208
+ async getOutputTagMapsForUser(args) {
2209
+ const results = [];
2210
+ const fargs = {
2211
+ partial: {},
2212
+ since: args.since,
2213
+ paged: args.paged,
2214
+ trx: args.trx
2215
+ };
2216
+ await this.filterOutputTagMaps(fargs, r => {
2217
+ results.push(this.validateEntity(r));
2218
+ }, args.userId);
2219
+ return results;
2220
+ }
2221
+ async verifyReadyForDatabaseAccess(trx) {
2222
+ if (!this._settings) {
2223
+ this._settings = await this.readSettings();
2224
+ }
2225
+ return this._settings.dbtype;
2226
+ }
2227
+ /**
2228
+ * Helper to force uniform behavior across database engines.
2229
+ * Use to process all individual records with time stamps or number[] retreived from database.
2230
+ */
2231
+ validateEntity(entity, dateFields, booleanFields) {
2232
+ entity.created_at = this.validateDate(entity.created_at);
2233
+ entity.updated_at = this.validateDate(entity.updated_at);
2234
+ if (dateFields) {
2235
+ for (const df of dateFields) {
2236
+ if (entity[df])
2237
+ entity[df] = this.validateDate(entity[df]);
2238
+ }
2239
+ }
2240
+ if (booleanFields) {
2241
+ for (const df of booleanFields) {
2242
+ if (entity[df] !== undefined)
2243
+ entity[df] = !!entity[df];
2244
+ }
2245
+ }
2246
+ for (const key of Object.keys(entity)) {
2247
+ const val = entity[key];
2248
+ if (val === null) {
2249
+ entity[key] = undefined;
2250
+ }
2251
+ else if (val instanceof Uint8Array) {
2252
+ entity[key] = Array.from(val);
2253
+ }
2254
+ }
2255
+ return entity;
2256
+ }
2257
+ /**
2258
+ * Helper to force uniform behavior across database engines.
2259
+ * Use to process all arrays of records with time stamps retreived from database.
2260
+ * @returns input `entities` array with contained values validated.
2261
+ */
2262
+ validateEntities(entities, dateFields, booleanFields) {
2263
+ for (let i = 0; i < entities.length; i++) {
2264
+ entities[i] = this.validateEntity(entities[i], dateFields, booleanFields);
2265
+ }
2266
+ return entities;
2267
+ }
2268
+ /**
2269
+ * Helper to force uniform behavior across database engines.
2270
+ * Use to process the update template for entities being updated.
2271
+ */
2272
+ validatePartialForUpdate(update, dateFields, booleanFields) {
2273
+ if (!this.dbtype)
2274
+ throw new WERR_errors_1.WERR_INTERNAL('must call verifyReadyForDatabaseAccess first');
2275
+ const v = { ...update };
2276
+ if (v.created_at)
2277
+ v.created_at = this.validateEntityDate(v.created_at);
2278
+ if (v.updated_at)
2279
+ v.updated_at = this.validateEntityDate(v.updated_at);
2280
+ if (!v.created_at)
2281
+ delete v.created_at;
2282
+ if (!v.updated_at)
2283
+ v.updated_at = this.validateEntityDate(new Date());
2284
+ if (dateFields) {
2285
+ for (const df of dateFields) {
2286
+ if (v[df])
2287
+ v[df] = this.validateOptionalEntityDate(v[df]);
2288
+ }
2289
+ }
2290
+ if (booleanFields) {
2291
+ for (const df of booleanFields) {
2292
+ if (update[df] !== undefined)
2293
+ update[df] = !!update[df] ? 1 : 0;
2294
+ }
2295
+ }
2296
+ for (const key of Object.keys(v)) {
2297
+ const val = v[key];
2298
+ if (Array.isArray(val) && (val.length === 0 || Number.isInteger(val[0]))) {
2299
+ v[key] = Uint8Array.from(val);
2300
+ }
2301
+ else if (val === null) {
2302
+ v[key] = undefined;
2303
+ }
2304
+ }
2305
+ this.isDirty = true;
2306
+ return v;
2307
+ }
2308
+ /**
2309
+ * Helper to force uniform behavior across database engines.
2310
+ * Use to process new entities being inserted into the database.
2311
+ */
2312
+ async validateEntityForInsert(entity, trx, dateFields, booleanFields) {
2313
+ await this.verifyReadyForDatabaseAccess(trx);
2314
+ const v = { ...entity };
2315
+ v.created_at = this.validateOptionalEntityDate(v.created_at, true);
2316
+ v.updated_at = this.validateOptionalEntityDate(v.updated_at, true);
2317
+ if (!v.created_at)
2318
+ delete v.created_at;
2319
+ if (!v.updated_at)
2320
+ delete v.updated_at;
2321
+ if (dateFields) {
2322
+ for (const df of dateFields) {
2323
+ if (v[df])
2324
+ v[df] = this.validateOptionalEntityDate(v[df]);
2325
+ }
2326
+ }
2327
+ if (booleanFields) {
2328
+ for (const df of booleanFields) {
2329
+ if (entity[df] !== undefined)
2330
+ entity[df] = !!entity[df] ? 1 : 0;
2331
+ }
2332
+ }
2333
+ for (const key of Object.keys(v)) {
2334
+ const val = v[key];
2335
+ if (Array.isArray(val) && (val.length === 0 || Number.isInteger(val[0]))) {
2336
+ v[key] = Uint8Array.from(val);
2337
+ }
2338
+ else if (val === null) {
2339
+ v[key] = undefined;
2340
+ }
2341
+ }
2342
+ this.isDirty = true;
2343
+ return v;
2344
+ }
2345
+ async validateRawTransaction(t, trx) {
2346
+ // if there is no txid or there is a rawTransaction return what we have.
2347
+ if (t.rawTx || !t.txid)
2348
+ return;
2349
+ // rawTransaction is missing, see if we moved it ...
2350
+ const rawTx = await this.getRawTxOfKnownValidTransaction(t.txid, undefined, undefined, trx);
2351
+ if (!rawTx)
2352
+ return;
2353
+ t.rawTx = rawTx;
2354
+ }
2355
+ async adminStats(adminIdentityKey) {
2356
+ throw new Error('Method intentionally not implemented for personal storage.');
2357
+ }
2358
+ }
2359
+ exports.StorageIdb = StorageIdb;
2360
+ //# sourceMappingURL=StorageIdb.js.map