@bsv/wallet-toolbox-mobile 1.3.21 → 1.3.22

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 (498) hide show
  1. package/out/src/CWIStyleWalletManager.d.ts +437 -0
  2. package/out/src/CWIStyleWalletManager.d.ts.map +1 -0
  3. package/out/src/CWIStyleWalletManager.js +1255 -0
  4. package/out/src/CWIStyleWalletManager.js.map +1 -0
  5. package/out/src/SetupClient.d.ts +126 -0
  6. package/out/src/SetupClient.d.ts.map +1 -0
  7. package/out/src/SetupClient.js +220 -0
  8. package/out/src/SetupClient.js.map +1 -0
  9. package/out/src/SetupWallet.d.ts +100 -0
  10. package/out/src/SetupWallet.d.ts.map +1 -0
  11. package/out/src/SetupWallet.js +3 -0
  12. package/out/src/SetupWallet.js.map +1 -0
  13. package/out/src/SimpleWalletManager.d.ts +169 -0
  14. package/out/src/SimpleWalletManager.d.ts.map +1 -0
  15. package/out/src/SimpleWalletManager.js +315 -0
  16. package/out/src/SimpleWalletManager.js.map +1 -0
  17. package/out/src/Wallet.d.ts +177 -0
  18. package/out/src/Wallet.d.ts.map +1 -0
  19. package/out/src/Wallet.js +742 -0
  20. package/out/src/Wallet.js.map +1 -0
  21. package/out/src/WalletAuthenticationManager.d.ts +33 -0
  22. package/out/src/WalletAuthenticationManager.d.ts.map +1 -0
  23. package/out/src/WalletAuthenticationManager.js +113 -0
  24. package/out/src/WalletAuthenticationManager.js.map +1 -0
  25. package/out/src/WalletPermissionsManager.d.ts +598 -0
  26. package/out/src/WalletPermissionsManager.d.ts.map +1 -0
  27. package/out/src/WalletPermissionsManager.js +1868 -0
  28. package/out/src/WalletPermissionsManager.js.map +1 -0
  29. package/out/src/WalletSettingsManager.d.ts +52 -0
  30. package/out/src/WalletSettingsManager.d.ts.map +1 -0
  31. package/out/src/WalletSettingsManager.js +82 -0
  32. package/out/src/WalletSettingsManager.js.map +1 -0
  33. package/out/src/index.client.d.ts +19 -0
  34. package/out/src/index.client.d.ts.map +1 -0
  35. package/out/src/index.client.js +58 -0
  36. package/out/src/index.client.js.map +1 -0
  37. package/out/src/index.mobile.d.ts +19 -0
  38. package/out/src/index.mobile.d.ts.map +1 -0
  39. package/out/src/index.mobile.js +58 -0
  40. package/out/src/index.mobile.js.map +1 -0
  41. package/out/src/monitor/Monitor.d.ts +91 -0
  42. package/out/src/monitor/Monitor.d.ts.map +1 -0
  43. package/out/src/monitor/Monitor.js +298 -0
  44. package/out/src/monitor/Monitor.js.map +1 -0
  45. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +53 -0
  46. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -0
  47. package/out/src/monitor/tasks/TaskCheckForProofs.js +194 -0
  48. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -0
  49. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +33 -0
  50. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -0
  51. package/out/src/monitor/tasks/TaskCheckNoSends.js +65 -0
  52. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -0
  53. package/out/src/monitor/tasks/TaskClock.d.ts +14 -0
  54. package/out/src/monitor/tasks/TaskClock.d.ts.map +1 -0
  55. package/out/src/monitor/tasks/TaskClock.js +27 -0
  56. package/out/src/monitor/tasks/TaskClock.js.map +1 -0
  57. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts +20 -0
  58. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -0
  59. package/out/src/monitor/tasks/TaskFailAbandoned.js +52 -0
  60. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -0
  61. package/out/src/monitor/tasks/TaskNewHeader.d.ts +15 -0
  62. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -0
  63. package/out/src/monitor/tasks/TaskNewHeader.js +43 -0
  64. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -0
  65. package/out/src/monitor/tasks/TaskPurge.d.ts +45 -0
  66. package/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -0
  67. package/out/src/monitor/tasks/TaskPurge.js +34 -0
  68. package/out/src/monitor/tasks/TaskPurge.js.map +1 -0
  69. package/out/src/monitor/tasks/TaskReviewStatus.d.ts +26 -0
  70. package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -0
  71. package/out/src/monitor/tasks/TaskReviewStatus.js +43 -0
  72. package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -0
  73. package/out/src/monitor/tasks/TaskSendWaiting.d.ts +35 -0
  74. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -0
  75. package/out/src/monitor/tasks/TaskSendWaiting.js +107 -0
  76. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -0
  77. package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts +12 -0
  78. package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts.map +1 -0
  79. package/out/src/monitor/tasks/TaskSyncWhenIdle.js +22 -0
  80. package/out/src/monitor/tasks/TaskSyncWhenIdle.js.map +1 -0
  81. package/out/src/monitor/tasks/TaskUnFail.d.ts +41 -0
  82. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -0
  83. package/out/src/monitor/tasks/TaskUnFail.js +144 -0
  84. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -0
  85. package/out/src/monitor/tasks/WalletMonitorTask.d.ts +40 -0
  86. package/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +1 -0
  87. package/out/src/monitor/tasks/WalletMonitorTask.js +37 -0
  88. package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -0
  89. package/out/src/sdk/CertOpsWallet.d.ts +7 -0
  90. package/out/src/sdk/CertOpsWallet.d.ts.map +1 -0
  91. package/out/src/sdk/CertOpsWallet.js +3 -0
  92. package/out/src/sdk/CertOpsWallet.js.map +1 -0
  93. package/out/src/sdk/PrivilegedKeyManager.d.ts +125 -0
  94. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -0
  95. package/out/src/sdk/PrivilegedKeyManager.js +293 -0
  96. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -0
  97. package/out/src/sdk/WERR_errors.d.ts +115 -0
  98. package/out/src/sdk/WERR_errors.d.ts.map +1 -0
  99. package/out/src/sdk/WERR_errors.js +158 -0
  100. package/out/src/sdk/WERR_errors.js.map +1 -0
  101. package/out/src/sdk/WalletError.d.ts +44 -0
  102. package/out/src/sdk/WalletError.d.ts.map +1 -0
  103. package/out/src/sdk/WalletError.js +118 -0
  104. package/out/src/sdk/WalletError.js.map +1 -0
  105. package/out/src/sdk/WalletServices.interfaces.d.ts +430 -0
  106. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -0
  107. package/out/src/sdk/WalletServices.interfaces.js +3 -0
  108. package/out/src/sdk/WalletServices.interfaces.js.map +1 -0
  109. package/out/src/sdk/WalletSigner.interfaces.d.ts +10 -0
  110. package/out/src/sdk/WalletSigner.interfaces.d.ts.map +1 -0
  111. package/out/src/sdk/WalletSigner.interfaces.js +3 -0
  112. package/out/src/sdk/WalletSigner.interfaces.js.map +1 -0
  113. package/out/src/sdk/WalletStorage.interfaces.d.ts +452 -0
  114. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -0
  115. package/out/src/sdk/WalletStorage.interfaces.js +3 -0
  116. package/out/src/sdk/WalletStorage.interfaces.js.map +1 -0
  117. package/out/src/sdk/index.d.ts +10 -0
  118. package/out/src/sdk/index.d.ts.map +1 -0
  119. package/out/src/sdk/index.js +26 -0
  120. package/out/src/sdk/index.js.map +1 -0
  121. package/out/src/sdk/types.d.ts +158 -0
  122. package/out/src/sdk/types.d.ts.map +1 -0
  123. package/out/src/sdk/types.js +90 -0
  124. package/out/src/sdk/types.js.map +1 -0
  125. package/out/src/sdk/validationHelpers.d.ts +301 -0
  126. package/out/src/sdk/validationHelpers.d.ts.map +1 -0
  127. package/out/src/sdk/validationHelpers.js +629 -0
  128. package/out/src/sdk/validationHelpers.js.map +1 -0
  129. package/out/src/services/ServiceCollection.d.ts +25 -0
  130. package/out/src/services/ServiceCollection.d.ts.map +1 -0
  131. package/out/src/services/ServiceCollection.js +43 -0
  132. package/out/src/services/ServiceCollection.js.map +1 -0
  133. package/out/src/services/Services.d.ts +67 -0
  134. package/out/src/services/Services.d.ts.map +1 -0
  135. package/out/src/services/Services.js +391 -0
  136. package/out/src/services/Services.js.map +1 -0
  137. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +15 -0
  138. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -0
  139. package/out/src/services/chaintracker/ChaintracksChainTracker.js +51 -0
  140. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -0
  141. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts +98 -0
  142. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts.map +1 -0
  143. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js +38 -0
  144. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js.map +1 -0
  145. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +36 -0
  146. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -0
  147. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +128 -0
  148. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -0
  149. package/out/src/services/chaintracker/chaintracks/index.d.ts +3 -0
  150. package/out/src/services/chaintracker/chaintracks/index.d.ts.map +1 -0
  151. package/out/src/services/chaintracker/chaintracks/index.js +19 -0
  152. package/out/src/services/chaintracker/chaintracks/index.js.map +1 -0
  153. package/out/src/services/chaintracker/index.d.ts +3 -0
  154. package/out/src/services/chaintracker/index.d.ts.map +1 -0
  155. package/out/src/services/chaintracker/index.js +19 -0
  156. package/out/src/services/chaintracker/index.js.map +1 -0
  157. package/out/src/services/createDefaultWalletServicesOptions.d.ts +4 -0
  158. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -0
  159. package/out/src/services/createDefaultWalletServicesOptions.js +46 -0
  160. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -0
  161. package/out/src/services/index.d.ts +2 -0
  162. package/out/src/services/index.d.ts.map +1 -0
  163. package/out/src/services/index.js +18 -0
  164. package/out/src/services/index.js.map +1 -0
  165. package/out/src/services/providers/ARC.d.ts +91 -0
  166. package/out/src/services/providers/ARC.d.ts.map +1 -0
  167. package/out/src/services/providers/ARC.js +267 -0
  168. package/out/src/services/providers/ARC.js.map +1 -0
  169. package/out/src/services/providers/Bitails.d.ts +49 -0
  170. package/out/src/services/providers/Bitails.d.ts.map +1 -0
  171. package/out/src/services/providers/Bitails.js +222 -0
  172. package/out/src/services/providers/Bitails.js.map +1 -0
  173. package/out/src/services/providers/SdkWhatsOnChain.d.ts +21 -0
  174. package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -0
  175. package/out/src/services/providers/SdkWhatsOnChain.js +67 -0
  176. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -0
  177. package/out/src/services/providers/WhatsOnChain.d.ts +71 -0
  178. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -0
  179. package/out/src/services/providers/WhatsOnChain.js +582 -0
  180. package/out/src/services/providers/WhatsOnChain.js.map +1 -0
  181. package/out/src/services/providers/echangeRates.d.ts +12 -0
  182. package/out/src/services/providers/echangeRates.d.ts.map +1 -0
  183. package/out/src/services/providers/echangeRates.js +237 -0
  184. package/out/src/services/providers/echangeRates.js.map +1 -0
  185. package/out/src/services/providers/getBeefForTxid.d.ts +4 -0
  186. package/out/src/services/providers/getBeefForTxid.d.ts.map +1 -0
  187. package/out/src/services/providers/getBeefForTxid.js +286 -0
  188. package/out/src/services/providers/getBeefForTxid.js.map +1 -0
  189. package/out/src/signer/WalletSigner.d.ts +11 -0
  190. package/out/src/signer/WalletSigner.d.ts.map +1 -0
  191. package/out/src/signer/WalletSigner.js +13 -0
  192. package/out/src/signer/WalletSigner.js.map +1 -0
  193. package/out/src/signer/methods/acquireDirectCertificate.d.ts +4 -0
  194. package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -0
  195. package/out/src/signer/methods/acquireDirectCertificate.js +45 -0
  196. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -0
  197. package/out/src/signer/methods/buildSignableTransaction.d.ts +10 -0
  198. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -0
  199. package/out/src/signer/methods/buildSignableTransaction.js +126 -0
  200. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -0
  201. package/out/src/signer/methods/createAction.d.ts +20 -0
  202. package/out/src/signer/methods/createAction.d.ts.map +1 -0
  203. package/out/src/signer/methods/createAction.js +160 -0
  204. package/out/src/signer/methods/createAction.js.map +1 -0
  205. package/out/src/signer/methods/internalizeAction.d.ts +31 -0
  206. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -0
  207. package/out/src/signer/methods/internalizeAction.js +95 -0
  208. package/out/src/signer/methods/internalizeAction.js.map +1 -0
  209. package/out/src/signer/methods/proveCertificate.d.ts +4 -0
  210. package/out/src/signer/methods/proveCertificate.d.ts.map +1 -0
  211. package/out/src/signer/methods/proveCertificate.js +29 -0
  212. package/out/src/signer/methods/proveCertificate.js.map +1 -0
  213. package/out/src/signer/methods/signAction.d.ts +13 -0
  214. package/out/src/signer/methods/signAction.d.ts.map +1 -0
  215. package/out/src/signer/methods/signAction.js +89 -0
  216. package/out/src/signer/methods/signAction.js.map +1 -0
  217. package/out/src/storage/StorageIdb.d.ts +208 -0
  218. package/out/src/storage/StorageIdb.d.ts.map +1 -0
  219. package/out/src/storage/StorageIdb.js +2296 -0
  220. package/out/src/storage/StorageIdb.js.map +1 -0
  221. package/out/src/storage/StorageProvider.d.ts +209 -0
  222. package/out/src/storage/StorageProvider.d.ts.map +1 -0
  223. package/out/src/storage/StorageProvider.js +550 -0
  224. package/out/src/storage/StorageProvider.js.map +1 -0
  225. package/out/src/storage/StorageReader.d.ts +76 -0
  226. package/out/src/storage/StorageReader.d.ts.map +1 -0
  227. package/out/src/storage/StorageReader.js +129 -0
  228. package/out/src/storage/StorageReader.js.map +1 -0
  229. package/out/src/storage/StorageReaderWriter.d.ts +87 -0
  230. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -0
  231. package/out/src/storage/StorageReaderWriter.js +338 -0
  232. package/out/src/storage/StorageReaderWriter.js.map +1 -0
  233. package/out/src/storage/StorageSyncReader.d.ts +17 -0
  234. package/out/src/storage/StorageSyncReader.d.ts.map +1 -0
  235. package/out/src/storage/StorageSyncReader.js +38 -0
  236. package/out/src/storage/StorageSyncReader.js.map +1 -0
  237. package/out/src/storage/WalletStorageManager.d.ts +184 -0
  238. package/out/src/storage/WalletStorageManager.d.ts.map +1 -0
  239. package/out/src/storage/WalletStorageManager.js +665 -0
  240. package/out/src/storage/WalletStorageManager.js.map +1 -0
  241. package/out/src/storage/index.client.d.ts +8 -0
  242. package/out/src/storage/index.client.d.ts.map +1 -0
  243. package/out/src/storage/index.client.js +24 -0
  244. package/out/src/storage/index.client.js.map +1 -0
  245. package/out/src/storage/index.mobile.d.ts +7 -0
  246. package/out/src/storage/index.mobile.d.ts.map +1 -0
  247. package/out/src/storage/index.mobile.js +23 -0
  248. package/out/src/storage/index.mobile.js.map +1 -0
  249. package/out/src/storage/methods/ListActionsSpecOp.d.ts +16 -0
  250. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -0
  251. package/out/src/storage/methods/ListActionsSpecOp.js +40 -0
  252. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -0
  253. package/out/src/storage/methods/ListOutputsSpecOp.d.ts +26 -0
  254. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -0
  255. package/out/src/storage/methods/ListOutputsSpecOp.js +71 -0
  256. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -0
  257. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +41 -0
  258. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -0
  259. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +320 -0
  260. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -0
  261. package/out/src/storage/methods/createAction.d.ts +24 -0
  262. package/out/src/storage/methods/createAction.d.ts.map +1 -0
  263. package/out/src/storage/methods/createAction.js +705 -0
  264. package/out/src/storage/methods/createAction.js.map +1 -0
  265. package/out/src/storage/methods/generateChange.d.ts +119 -0
  266. package/out/src/storage/methods/generateChange.d.ts.map +1 -0
  267. package/out/src/storage/methods/generateChange.js +448 -0
  268. package/out/src/storage/methods/generateChange.js.map +1 -0
  269. package/out/src/storage/methods/getBeefForTransaction.d.ts +22 -0
  270. package/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -0
  271. package/out/src/storage/methods/getBeefForTransaction.js +92 -0
  272. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -0
  273. package/out/src/storage/methods/getSyncChunk.d.ts +10 -0
  274. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -0
  275. package/out/src/storage/methods/getSyncChunk.js +271 -0
  276. package/out/src/storage/methods/getSyncChunk.js.map +1 -0
  277. package/out/src/storage/methods/internalizeAction.d.ts +38 -0
  278. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -0
  279. package/out/src/storage/methods/internalizeAction.js +371 -0
  280. package/out/src/storage/methods/internalizeAction.js.map +1 -0
  281. package/out/src/storage/methods/listActionsIdb.d.ts +5 -0
  282. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -0
  283. package/out/src/storage/methods/listActionsIdb.js +155 -0
  284. package/out/src/storage/methods/listActionsIdb.js.map +1 -0
  285. package/out/src/storage/methods/listCertificates.d.ts +5 -0
  286. package/out/src/storage/methods/listCertificates.d.ts.map +1 -0
  287. package/out/src/storage/methods/listCertificates.js +68 -0
  288. package/out/src/storage/methods/listCertificates.js.map +1 -0
  289. package/out/src/storage/methods/listOutputsIdb.d.ts +5 -0
  290. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -0
  291. package/out/src/storage/methods/listOutputsIdb.js +181 -0
  292. package/out/src/storage/methods/listOutputsIdb.js.map +1 -0
  293. package/out/src/storage/methods/processAction.d.ts +35 -0
  294. package/out/src/storage/methods/processAction.d.ts.map +1 -0
  295. package/out/src/storage/methods/processAction.js +311 -0
  296. package/out/src/storage/methods/processAction.js.map +1 -0
  297. package/out/src/storage/methods/purgeDataIdb.d.ts +4 -0
  298. package/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -0
  299. package/out/src/storage/methods/purgeDataIdb.js +9 -0
  300. package/out/src/storage/methods/purgeDataIdb.js.map +1 -0
  301. package/out/src/storage/methods/reviewStatusIdb.d.ts +20 -0
  302. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -0
  303. package/out/src/storage/methods/reviewStatusIdb.js +35 -0
  304. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -0
  305. package/out/src/storage/remoting/StorageClient.d.ts +283 -0
  306. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -0
  307. package/out/src/storage/remoting/StorageClient.js +477 -0
  308. package/out/src/storage/remoting/StorageClient.js.map +1 -0
  309. package/out/src/storage/schema/StorageIdbSchema.d.ts +133 -0
  310. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -0
  311. package/out/src/storage/schema/StorageIdbSchema.js +3 -0
  312. package/out/src/storage/schema/StorageIdbSchema.js.map +1 -0
  313. package/out/src/storage/schema/entities/EntityBase.d.ts +105 -0
  314. package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -0
  315. package/out/src/storage/schema/entities/EntityBase.js +100 -0
  316. package/out/src/storage/schema/entities/EntityBase.js.map +1 -0
  317. package/out/src/storage/schema/entities/EntityCertificate.d.ts +43 -0
  318. package/out/src/storage/schema/entities/EntityCertificate.d.ts.map +1 -0
  319. package/out/src/storage/schema/entities/EntityCertificate.js +162 -0
  320. package/out/src/storage/schema/entities/EntityCertificate.js.map +1 -0
  321. package/out/src/storage/schema/entities/EntityCertificateField.d.ts +32 -0
  322. package/out/src/storage/schema/entities/EntityCertificateField.d.ts.map +1 -0
  323. package/out/src/storage/schema/entities/EntityCertificateField.js +111 -0
  324. package/out/src/storage/schema/entities/EntityCertificateField.js.map +1 -0
  325. package/out/src/storage/schema/entities/EntityCommission.d.ts +37 -0
  326. package/out/src/storage/schema/entities/EntityCommission.d.ts.map +1 -0
  327. package/out/src/storage/schema/entities/EntityCommission.js +127 -0
  328. package/out/src/storage/schema/entities/EntityCommission.js.map +1 -0
  329. package/out/src/storage/schema/entities/EntityOutput.d.ts +67 -0
  330. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -0
  331. package/out/src/storage/schema/entities/EntityOutput.js +264 -0
  332. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -0
  333. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts +35 -0
  334. package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -0
  335. package/out/src/storage/schema/entities/EntityOutputBasket.js +133 -0
  336. package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -0
  337. package/out/src/storage/schema/entities/EntityOutputTag.d.ts +31 -0
  338. package/out/src/storage/schema/entities/EntityOutputTag.d.ts.map +1 -0
  339. package/out/src/storage/schema/entities/EntityOutputTag.js +104 -0
  340. package/out/src/storage/schema/entities/EntityOutputTag.js.map +1 -0
  341. package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts +28 -0
  342. package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts.map +1 -0
  343. package/out/src/storage/schema/entities/EntityOutputTagMap.js +97 -0
  344. package/out/src/storage/schema/entities/EntityOutputTagMap.js.map +1 -0
  345. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +84 -0
  346. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -0
  347. package/out/src/storage/schema/entities/EntityProvenTx.js +276 -0
  348. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -0
  349. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts +135 -0
  350. package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts.map +1 -0
  351. package/out/src/storage/schema/entities/EntityProvenTxReq.js +522 -0
  352. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -0
  353. package/out/src/storage/schema/entities/EntitySyncState.d.ts +67 -0
  354. package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -0
  355. package/out/src/storage/schema/entities/EntitySyncState.js +319 -0
  356. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -0
  357. package/out/src/storage/schema/entities/EntityTransaction.d.ts +67 -0
  358. package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -0
  359. package/out/src/storage/schema/entities/EntityTransaction.js +255 -0
  360. package/out/src/storage/schema/entities/EntityTransaction.js.map +1 -0
  361. package/out/src/storage/schema/entities/EntityTxLabel.d.ts +31 -0
  362. package/out/src/storage/schema/entities/EntityTxLabel.d.ts.map +1 -0
  363. package/out/src/storage/schema/entities/EntityTxLabel.js +104 -0
  364. package/out/src/storage/schema/entities/EntityTxLabel.js.map +1 -0
  365. package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts +28 -0
  366. package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts.map +1 -0
  367. package/out/src/storage/schema/entities/EntityTxLabelMap.js +97 -0
  368. package/out/src/storage/schema/entities/EntityTxLabelMap.js.map +1 -0
  369. package/out/src/storage/schema/entities/EntityUser.d.ts +29 -0
  370. package/out/src/storage/schema/entities/EntityUser.d.ts.map +1 -0
  371. package/out/src/storage/schema/entities/EntityUser.js +98 -0
  372. package/out/src/storage/schema/entities/EntityUser.js.map +1 -0
  373. package/out/src/storage/schema/entities/MergeEntity.d.ts +33 -0
  374. package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -0
  375. package/out/src/storage/schema/entities/MergeEntity.js +62 -0
  376. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -0
  377. package/out/src/storage/schema/entities/index.d.ts +17 -0
  378. package/out/src/storage/schema/entities/index.d.ts.map +1 -0
  379. package/out/src/storage/schema/entities/index.js +33 -0
  380. package/out/src/storage/schema/entities/index.js.map +1 -0
  381. package/out/src/storage/schema/tables/TableCertificate.d.ts +20 -0
  382. package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -0
  383. package/out/src/storage/schema/tables/TableCertificate.js +3 -0
  384. package/out/src/storage/schema/tables/TableCertificate.js.map +1 -0
  385. package/out/src/storage/schema/tables/TableCertificateField.d.ts +12 -0
  386. package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -0
  387. package/out/src/storage/schema/tables/TableCertificateField.js +3 -0
  388. package/out/src/storage/schema/tables/TableCertificateField.js.map +1 -0
  389. package/out/src/storage/schema/tables/TableCommission.d.ts +13 -0
  390. package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -0
  391. package/out/src/storage/schema/tables/TableCommission.js +3 -0
  392. package/out/src/storage/schema/tables/TableCommission.js.map +1 -0
  393. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +9 -0
  394. package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -0
  395. package/out/src/storage/schema/tables/TableMonitorEvent.js +3 -0
  396. package/out/src/storage/schema/tables/TableMonitorEvent.js.map +1 -0
  397. package/out/src/storage/schema/tables/TableOutput.d.ts +36 -0
  398. package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -0
  399. package/out/src/storage/schema/tables/TableOutput.js +31 -0
  400. package/out/src/storage/schema/tables/TableOutput.js.map +1 -0
  401. package/out/src/storage/schema/tables/TableOutputBasket.d.ts +12 -0
  402. package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -0
  403. package/out/src/storage/schema/tables/TableOutputBasket.js +3 -0
  404. package/out/src/storage/schema/tables/TableOutputBasket.js.map +1 -0
  405. package/out/src/storage/schema/tables/TableOutputTag.d.ts +10 -0
  406. package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -0
  407. package/out/src/storage/schema/tables/TableOutputTag.js +3 -0
  408. package/out/src/storage/schema/tables/TableOutputTag.js.map +1 -0
  409. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +9 -0
  410. package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -0
  411. package/out/src/storage/schema/tables/TableOutputTagMap.js +3 -0
  412. package/out/src/storage/schema/tables/TableOutputTagMap.js.map +1 -0
  413. package/out/src/storage/schema/tables/TableProvenTx.d.ts +14 -0
  414. package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -0
  415. package/out/src/storage/schema/tables/TableProvenTx.js +3 -0
  416. package/out/src/storage/schema/tables/TableProvenTx.js.map +1 -0
  417. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +64 -0
  418. package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -0
  419. package/out/src/storage/schema/tables/TableProvenTxReq.js +3 -0
  420. package/out/src/storage/schema/tables/TableProvenTxReq.js.map +1 -0
  421. package/out/src/storage/schema/tables/TableSettings.d.ts +17 -0
  422. package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -0
  423. package/out/src/storage/schema/tables/TableSettings.js +3 -0
  424. package/out/src/storage/schema/tables/TableSettings.js.map +1 -0
  425. package/out/src/storage/schema/tables/TableSyncState.d.ts +18 -0
  426. package/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -0
  427. package/out/src/storage/schema/tables/TableSyncState.js +3 -0
  428. package/out/src/storage/schema/tables/TableSyncState.js.map +1 -0
  429. package/out/src/storage/schema/tables/TableTransaction.d.ts +37 -0
  430. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -0
  431. package/out/src/storage/schema/tables/TableTransaction.js +21 -0
  432. package/out/src/storage/schema/tables/TableTransaction.js.map +1 -0
  433. package/out/src/storage/schema/tables/TableTxLabel.d.ts +10 -0
  434. package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -0
  435. package/out/src/storage/schema/tables/TableTxLabel.js +3 -0
  436. package/out/src/storage/schema/tables/TableTxLabel.js.map +1 -0
  437. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +9 -0
  438. package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -0
  439. package/out/src/storage/schema/tables/TableTxLabelMap.js +3 -0
  440. package/out/src/storage/schema/tables/TableTxLabelMap.js.map +1 -0
  441. package/out/src/storage/schema/tables/TableUser.d.ts +16 -0
  442. package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -0
  443. package/out/src/storage/schema/tables/TableUser.js +3 -0
  444. package/out/src/storage/schema/tables/TableUser.js.map +1 -0
  445. package/out/src/storage/schema/tables/index.d.ts +17 -0
  446. package/out/src/storage/schema/tables/index.d.ts.map +1 -0
  447. package/out/src/storage/schema/tables/index.js +33 -0
  448. package/out/src/storage/schema/tables/index.js.map +1 -0
  449. package/out/src/utility/ScriptTemplateBRC29.d.ts +25 -0
  450. package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -0
  451. package/out/src/utility/ScriptTemplateBRC29.js +48 -0
  452. package/out/src/utility/ScriptTemplateBRC29.js.map +1 -0
  453. package/out/src/utility/identityUtils.d.ts +31 -0
  454. package/out/src/utility/identityUtils.d.ts.map +1 -0
  455. package/out/src/utility/identityUtils.js +116 -0
  456. package/out/src/utility/identityUtils.js.map +1 -0
  457. package/out/src/utility/index.client.d.ts +7 -0
  458. package/out/src/utility/index.client.d.ts.map +1 -0
  459. package/out/src/utility/index.client.js +23 -0
  460. package/out/src/utility/index.client.js.map +1 -0
  461. package/out/src/utility/parseTxScriptOffsets.d.ts +14 -0
  462. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -0
  463. package/out/src/utility/parseTxScriptOffsets.js +26 -0
  464. package/out/src/utility/parseTxScriptOffsets.js.map +1 -0
  465. package/out/src/utility/stampLog.d.ts +18 -0
  466. package/out/src/utility/stampLog.d.ts.map +1 -0
  467. package/out/src/utility/stampLog.js +72 -0
  468. package/out/src/utility/stampLog.js.map +1 -0
  469. package/out/src/utility/tscProofToMerklePath.d.ts +8 -0
  470. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -0
  471. package/out/src/utility/tscProofToMerklePath.js +41 -0
  472. package/out/src/utility/tscProofToMerklePath.js.map +1 -0
  473. package/out/src/utility/utilityHelpers.d.ts +129 -0
  474. package/out/src/utility/utilityHelpers.d.ts.map +1 -0
  475. package/out/src/utility/utilityHelpers.js +266 -0
  476. package/out/src/utility/utilityHelpers.js.map +1 -0
  477. package/out/src/utility/utilityHelpers.noBuffer.d.ts +9 -0
  478. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -0
  479. package/out/src/utility/utilityHelpers.noBuffer.js +23 -0
  480. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -0
  481. package/out/src/wab-client/WABClient.d.ts +49 -0
  482. package/out/src/wab-client/WABClient.d.ts.map +1 -0
  483. package/out/src/wab-client/WABClient.js +80 -0
  484. package/out/src/wab-client/WABClient.js.map +1 -0
  485. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +34 -0
  486. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -0
  487. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +16 -0
  488. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -0
  489. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts +7 -0
  490. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts.map +1 -0
  491. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js +36 -0
  492. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js.map +1 -0
  493. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts +28 -0
  494. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts.map +1 -0
  495. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +69 -0
  496. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +1 -0
  497. package/out/tsconfig.mobile.tsbuildinfo +1 -0
  498. package/package.json +1 -1
@@ -0,0 +1,5 @@
1
+ import { ListOutputsResult, OriginatorDomainNameStringUnder250Bytes } from '@bsv/sdk';
2
+ import { sdk } from '../../index.client';
3
+ import { StorageIdb } from '../StorageIdb';
4
+ export declare function listOutputsIdb(storage: StorageIdb, auth: sdk.AuthId, vargs: sdk.ValidListOutputsArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<ListOutputsResult>;
5
+ //# sourceMappingURL=listOutputsIdb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listOutputsIdb.d.ts","sourceRoot":"","sources":["../../../../../src/storage/methods/listOutputsIdb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,iBAAiB,EAAE,uCAAuC,EAAgB,MAAM,UAAU,CAAA;AAEzG,OAAO,EAAY,GAAG,EAAuB,MAAM,oBAAoB,CAAA;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG1C,wBAAsB,cAAc,CAClC,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,GAAG,CAAC,MAAM,EAChB,KAAK,EAAE,GAAG,CAAC,oBAAoB,EAC/B,UAAU,CAAC,EAAE,uCAAuC,GACnD,OAAO,CAAC,iBAAiB,CAAC,CA0L5B"}
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listOutputsIdb = listOutputsIdb;
4
+ const sdk_1 = require("@bsv/sdk");
5
+ const index_client_1 = require("../../index.client");
6
+ const ListOutputsSpecOp_1 = require("./ListOutputsSpecOp");
7
+ async function listOutputsIdb(storage, auth, vargs, originator) {
8
+ const userId = (0, index_client_1.verifyId)(auth.userId);
9
+ const limit = vargs.limit;
10
+ const offset = vargs.offset;
11
+ const r = {
12
+ totalOutputs: 0,
13
+ outputs: []
14
+ };
15
+ /*
16
+ ListOutputsArgs {
17
+ basket: BasketStringUnder300Bytes
18
+
19
+ tags?: OutputTagStringUnder300Bytes[]
20
+ tagQueryMode?: 'all' | 'any' // default any
21
+
22
+ limit?: PositiveIntegerDefault10Max10000
23
+ offset?: PositiveIntegerOrZero
24
+ }
25
+ */
26
+ let specOp = undefined;
27
+ let basketId = undefined;
28
+ const basketsById = {};
29
+ if (vargs.basket) {
30
+ let b = vargs.basket;
31
+ specOp = (0, ListOutputsSpecOp_1.getBasketToSpecOp)()[b];
32
+ b = specOp ? (specOp.useBasket ? specOp.useBasket : '') : b;
33
+ if (b) {
34
+ const baskets = await storage.findOutputBaskets({
35
+ partial: { userId, name: b }
36
+ });
37
+ if (baskets.length !== 1) {
38
+ // If basket does not exist, result is no outputs.
39
+ return r;
40
+ }
41
+ const basket = baskets[0];
42
+ basketId = basket.basketId;
43
+ basketsById[basketId] = basket;
44
+ }
45
+ }
46
+ let tags = [...vargs.tags];
47
+ const specOpTags = [];
48
+ if (specOp && specOp.tagsParamsCount) {
49
+ specOpTags.push(...tags.splice(0, Math.min(tags.length, specOp.tagsParamsCount)));
50
+ }
51
+ if (specOp && specOp.tagsToIntercept) {
52
+ // Pull out tags used by current specOp
53
+ const ts = tags;
54
+ tags = [];
55
+ for (const t of ts) {
56
+ if (specOp.tagsToIntercept.length === 0 || specOp.tagsToIntercept.indexOf(t) >= 0) {
57
+ specOpTags.push(t);
58
+ if (t === 'all') {
59
+ basketId = undefined;
60
+ }
61
+ }
62
+ else {
63
+ tags.push(t);
64
+ }
65
+ }
66
+ }
67
+ if (specOp && specOp.resultFromTags) {
68
+ const r = await specOp.resultFromTags(storage, auth, vargs, specOpTags);
69
+ return r;
70
+ }
71
+ let tagIds = [];
72
+ if (tags && tags.length > 0) {
73
+ await storage.filterOutputTags({ partial: { userId, isDeleted: false } }, ot => {
74
+ if (tags.includes(ot.tag)) {
75
+ tagIds.push(ot.outputTagId);
76
+ }
77
+ });
78
+ }
79
+ const isQueryModeAll = vargs.tagQueryMode === 'all';
80
+ if (isQueryModeAll && tagIds.length < tags.length)
81
+ // all the required tags don't exist, impossible to satisfy.
82
+ return r;
83
+ if (!isQueryModeAll && tagIds.length === 0 && tags.length > 0)
84
+ // any and only non-existing labels, impossible to satisfy.
85
+ return r;
86
+ const noTags = tagIds.length === 0;
87
+ const includeSpent = false;
88
+ const stati = ['completed', 'unproven', 'nosend'];
89
+ const args = {
90
+ partial: {
91
+ userId,
92
+ basketId,
93
+ spendable: !includeSpent ? true : undefined
94
+ },
95
+ txStatus: stati,
96
+ noScript: true
97
+ };
98
+ if (!specOp || !specOp.ignoreLimit)
99
+ args.paged = { limit, offset };
100
+ let outputs = await storage.findOutputs(args, tagIds, isQueryModeAll);
101
+ if (outputs.length === vargs.limit) {
102
+ args.paged = undefined;
103
+ r.totalOutputs = await storage.countOutputs(args, tagIds, isQueryModeAll);
104
+ }
105
+ else {
106
+ r.totalOutputs = outputs.length;
107
+ }
108
+ if (specOp) {
109
+ if (specOp.filterOutputs)
110
+ outputs = await specOp.filterOutputs(storage, auth, vargs, specOpTags, outputs);
111
+ if (specOp.resultFromOutputs) {
112
+ const r = await specOp.resultFromOutputs(storage, auth, vargs, specOpTags, outputs);
113
+ return r;
114
+ }
115
+ }
116
+ /*
117
+ ListOutputsArgs {
118
+ include?: 'locking scripts' | 'entire transactions'
119
+ includeCustomInstructions?: BooleanDefaultFalse
120
+ includeTags?: BooleanDefaultFalse
121
+ includeLabels?: BooleanDefaultFalse
122
+ }
123
+
124
+ ListOutputsResult {
125
+ totalOutputs: PositiveIntegerOrZero
126
+ BEEF?: BEEF
127
+ outputs: Array<WalletOutput>
128
+ }
129
+
130
+ WalletOutput {
131
+ satoshis: SatoshiValue
132
+ spendable: boolean
133
+ outpoint: OutpointString
134
+
135
+ customInstructions?: string
136
+ lockingScript?: HexString
137
+ tags?: OutputTagStringUnder300Bytes[]
138
+ labels?: LabelStringUnder300Bytes[]
139
+ }
140
+ */
141
+ const labelsByTxid = {};
142
+ const beef = new sdk_1.Beef();
143
+ for (const o of outputs) {
144
+ const wo = {
145
+ satoshis: Number(o.satoshis),
146
+ spendable: !!o.spendable,
147
+ outpoint: `${o.txid}.${o.vout}`
148
+ };
149
+ r.outputs.push(wo);
150
+ //if (vargs.includeBasket && o.basketId) {
151
+ // if (!basketsById[o.basketId]) {
152
+ // basketsById[o.basketId] = verifyTruthy(await dsk.findOutputBasketId(o.basketId!, trx))
153
+ // }
154
+ // wo.basket = basketsById[o.basketId].name
155
+ //}
156
+ if (vargs.includeCustomInstructions && o.customInstructions)
157
+ wo.customInstructions = o.customInstructions;
158
+ if (vargs.includeLabels && o.txid) {
159
+ if (labelsByTxid[o.txid] === undefined) {
160
+ labelsByTxid[o.txid] = (await storage.getLabelsForTransactionId(o.transactionId)).map(l => l.label);
161
+ }
162
+ wo.labels = labelsByTxid[o.txid];
163
+ }
164
+ if (vargs.includeTags) {
165
+ wo.tags = (await storage.getTagsForOutputId(o.outputId)).map(t => t.tag);
166
+ }
167
+ if (vargs.includeLockingScripts) {
168
+ await storage.validateOutputScript(o);
169
+ if (o.lockingScript)
170
+ wo.lockingScript = (0, index_client_1.asString)(o.lockingScript);
171
+ }
172
+ if (vargs.includeTransactions && !beef.findTxid(o.txid)) {
173
+ await storage.getValidBeefForKnownTxid(o.txid, beef, undefined, vargs.knownTxids);
174
+ }
175
+ }
176
+ if (vargs.includeTransactions) {
177
+ r.BEEF = beef.toBinary();
178
+ }
179
+ return r;
180
+ }
181
+ //# sourceMappingURL=listOutputsIdb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listOutputsIdb.js","sourceRoot":"","sources":["../../../../../src/storage/methods/listOutputsIdb.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { Beef } from '@bsv/sdk';
2
+ import { EntityProvenTxReq, sdk, StorageProvider, TableProvenTx, TableProvenTxReq } from '../../index.client';
3
+ export declare function processAction(storage: StorageProvider, auth: sdk.AuthId, args: sdk.StorageProcessActionArgs): Promise<sdk.StorageProcessActionResults>;
4
+ export interface GetReqsAndBeefDetail {
5
+ txid: string;
6
+ req?: TableProvenTxReq;
7
+ proven?: TableProvenTx;
8
+ status: 'readyToSend' | 'alreadySent' | 'error' | 'unknown';
9
+ error?: string;
10
+ }
11
+ export interface GetReqsAndBeefResult {
12
+ beef: Beef;
13
+ details: GetReqsAndBeefDetail[];
14
+ }
15
+ export interface PostBeefResultForTxidApi {
16
+ txid: string;
17
+ /**
18
+ * 'success' - The transaction was accepted for processing
19
+ */
20
+ status: 'success' | 'error';
21
+ /**
22
+ * if true, the transaction was already known to this service. Usually treat as a success.
23
+ *
24
+ * Potentially stop posting to additional transaction processors.
25
+ */
26
+ alreadyKnown?: boolean;
27
+ blockHash?: string;
28
+ blockHeight?: number;
29
+ merklePath?: string;
30
+ }
31
+ export interface CommitNewTxResults {
32
+ req: EntityProvenTxReq;
33
+ log?: string;
34
+ }
35
+ //# sourceMappingURL=processAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processAction.d.ts","sourceRoot":"","sources":["../../../../../src/storage/methods/processAction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAuE,MAAM,UAAU,CAAA;AACpG,OAAO,EAGL,iBAAiB,EAGjB,GAAG,EAIH,eAAe,EAGf,aAAa,EACb,gBAAgB,EAUjB,MAAM,oBAAoB,CAAA;AAI3B,wBAAsB,aAAa,CACjC,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,GAAG,CAAC,MAAM,EAChB,IAAI,EAAE,GAAG,CAAC,wBAAwB,GACjC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CA+B1C;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,gBAAgB,CAAA;IACtB,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,MAAM,EAAE,aAAa,GAAG,aAAa,GAAG,OAAO,GAAG,SAAS,CAAA;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,oBAAoB,EAAE,CAAA;CAChC;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,MAAM,EAAE,SAAS,GAAG,OAAO,CAAA;IAE3B;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAmTD,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,iBAAiB,CAAA;IACtB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb"}
@@ -0,0 +1,311 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processAction = processAction;
4
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
+ const sdk_1 = require("@bsv/sdk");
6
+ const index_client_1 = require("../../index.client");
7
+ async function processAction(storage, auth, args) {
8
+ (0, index_client_1.stampLog)(args.log, `start storage processActionSdk`);
9
+ const userId = (0, index_client_1.verifyId)(auth.userId);
10
+ const r = {
11
+ sendWithResults: undefined
12
+ };
13
+ let req;
14
+ const txidsOfReqsToShareWithWorld = [...args.sendWith];
15
+ if (args.isNewTx) {
16
+ const vargs = await validateCommitNewTxToStorageArgs(storage, userId, args);
17
+ ({ req, log: args.log } = await commitNewTxToStorage(storage, userId, vargs));
18
+ if (!req)
19
+ throw new index_client_1.sdk.WERR_INTERNAL();
20
+ // Add the new txid to sendWith unless there are no others to send and the noSend option is set.
21
+ if (args.isNoSend && !args.isSendWith)
22
+ (0, index_client_1.stampLog)(args.log, `... storage processActionSdk newTx committed noSend`);
23
+ else {
24
+ txidsOfReqsToShareWithWorld.push(req.txid);
25
+ (0, index_client_1.stampLog)(args.log, `... storage processActionSdk newTx committed sendWith ${req.txid}`);
26
+ }
27
+ }
28
+ const { swr, ndr } = await shareReqsWithWorld(storage, userId, txidsOfReqsToShareWithWorld, args.isDelayed);
29
+ r.sendWithResults = swr;
30
+ r.notDelayedResults = ndr;
31
+ (0, index_client_1.stampLog)(args.log, `end storage processActionSdk`);
32
+ return r;
33
+ }
34
+ /**
35
+ * Verifies that all the txids are known reqs with ready-to-share status.
36
+ * Assigns a batch identifier and updates all the provenTxReqs.
37
+ * If not isDelayed, triggers an initial attempt to broadcast the batch and returns the results.
38
+ *
39
+ * @param storage
40
+ * @param userId
41
+ * @param txids
42
+ * @param isDelayed
43
+ */
44
+ async function shareReqsWithWorld(storage, userId, txids, isDelayed) {
45
+ let swr = [];
46
+ let ndr = undefined;
47
+ if (txids.length < 1)
48
+ return { swr, ndr };
49
+ // Collect what we know about these sendWith transaction txids from storage.
50
+ const r = await storage.getReqsAndBeefToShareWithWorld(txids, []);
51
+ // Initialize aggregate results for each txid
52
+ const ars = [];
53
+ const readyToSendReqs = [];
54
+ for (const getReq of r.details) {
55
+ let status = 'failed';
56
+ if (getReq.status === 'alreadySent')
57
+ status = 'unproven';
58
+ else if (getReq.status === 'readyToSend') {
59
+ status = 'sending';
60
+ readyToSendReqs.push(new index_client_1.EntityProvenTxReq(getReq.req));
61
+ }
62
+ ars.push({
63
+ txid: getReq.txid,
64
+ getReq,
65
+ status
66
+ });
67
+ }
68
+ // Filter original txids down to reqIds that are available and need sending
69
+ const readyToSendReqIds = readyToSendReqs.map(r => r.id);
70
+ const transactionIds = readyToSendReqs.map(r => r.notify.transactionIds || []).flat();
71
+ // If there are reqs to send, verify that we have a valid aggregate beef for them.
72
+ // If isDelayed, this (or a different beef) will have to be rebuilt at the time of sending.
73
+ if (readyToSendReqs.length > 0) {
74
+ const beefIsValid = await r.beef.verify(await storage.getServices().getChainTracker());
75
+ if (!beefIsValid)
76
+ throw new index_client_1.sdk.WERR_INTERNAL(`merged Beef failed validation.`);
77
+ }
78
+ // Set req batch property for the reqs being sent
79
+ // If delayed, also bump status to 'unsent' and we're done here
80
+ const batch = txids.length > 1 ? (0, index_client_1.randomBytesBase64)(16) : undefined;
81
+ if (isDelayed) {
82
+ // Just bump the req status to 'unsent' to enable background sending...
83
+ if (readyToSendReqIds.length > 0) {
84
+ await storage.transaction(async (trx) => {
85
+ await storage.updateProvenTxReq(readyToSendReqIds, { status: 'unsent', batch }, trx);
86
+ await storage.updateTransaction(transactionIds, { status: 'sending' }, trx);
87
+ });
88
+ }
89
+ return createResults();
90
+ }
91
+ if (readyToSendReqIds.length < 1) {
92
+ return createResults();
93
+ }
94
+ if (batch) {
95
+ // Keep batch values in sync...
96
+ for (const req of readyToSendReqs)
97
+ req.batch = batch;
98
+ await storage.updateProvenTxReq(readyToSendReqIds, { batch });
99
+ }
100
+ //
101
+ // Handle the NON-DELAYED-SEND-NOW case
102
+ //
103
+ const prtn = await storage.attemptToPostReqsToNetwork(readyToSendReqs);
104
+ // merge the individual PostBeefResultForTxid results to postBeef in aggregate results.
105
+ for (const ar of ars) {
106
+ const txid = ar.txid;
107
+ const d = prtn.details.find(d => d.txid === txid);
108
+ if (!d)
109
+ throw new index_client_1.sdk.WERR_INTERNAL(`missing details for ${txid}`);
110
+ ar.ndr = { txid: d.txid, status: 'success', competingTxs: d.competingTxs };
111
+ switch (d.status) {
112
+ case 'success':
113
+ // processing network has accepted this transaction
114
+ ar.status = 'unproven';
115
+ break;
116
+ case 'doubleSpend':
117
+ // confirmed double spend.
118
+ ar.status = 'failed';
119
+ ar.ndr.status = 'doubleSpend';
120
+ if (d.competingTxs)
121
+ ar.ndr.competingBeef = await createMergedBeefOfTxids(d.competingTxs, storage);
122
+ break;
123
+ case 'serviceError':
124
+ // services might improve
125
+ ar.status = 'sending';
126
+ ar.ndr.status = 'serviceError';
127
+ break;
128
+ case 'invalidTx':
129
+ // nothing will fix this transaction
130
+ ar.status = 'failed';
131
+ ar.ndr.status = 'invalidTx';
132
+ break;
133
+ case 'unknown':
134
+ case 'invalid':
135
+ default:
136
+ throw new index_client_1.sdk.WERR_INTERNAL(`processAction with notDelayed status ${d.status} should not occur.`);
137
+ }
138
+ }
139
+ return createResults();
140
+ function createResults() {
141
+ swr = [];
142
+ ndr = isDelayed ? undefined : [];
143
+ for (const ar of ars) {
144
+ swr.push({ txid: ar.txid, status: ar.status });
145
+ if (ar.ndr && ndr) {
146
+ ndr.push(ar.ndr);
147
+ }
148
+ }
149
+ return { swr, ndr };
150
+ }
151
+ }
152
+ async function validateCommitNewTxToStorageArgs(storage, userId, params) {
153
+ if (!params.reference || !params.txid || !params.rawTx)
154
+ throw new index_client_1.sdk.WERR_INVALID_OPERATION('One or more expected params are undefined.');
155
+ let tx;
156
+ try {
157
+ tx = sdk_1.Transaction.fromBinary(params.rawTx);
158
+ }
159
+ catch (e) {
160
+ throw new index_client_1.sdk.WERR_INVALID_OPERATION('Parsing serialized transaction failed.');
161
+ }
162
+ if (params.txid !== tx.id('hex'))
163
+ throw new index_client_1.sdk.WERR_INVALID_OPERATION(`Hash of serialized transaction doesn't match expected txid`);
164
+ if (!(await storage.getServices()).nLockTimeIsFinal(tx)) {
165
+ throw new index_client_1.sdk.WERR_INVALID_OPERATION(`This transaction is not final.
166
+ Ensure that the transaction meets the rules for being a finalized
167
+ which can be found at https://wiki.bitcoinsv.io/index.php/NLocktime_and_nSequence`);
168
+ }
169
+ const txScriptOffsets = (0, index_client_1.parseTxScriptOffsets)(params.rawTx);
170
+ const transaction = (0, index_client_1.verifyOne)(await storage.findTransactions({
171
+ partial: { userId, reference: params.reference }
172
+ }));
173
+ if (!transaction.isOutgoing)
174
+ throw new index_client_1.sdk.WERR_INVALID_OPERATION('isOutgoing is not true');
175
+ if (!transaction.inputBEEF)
176
+ throw new index_client_1.sdk.WERR_INVALID_OPERATION();
177
+ const beef = sdk_1.Beef.fromBinary((0, index_client_1.asArray)(transaction.inputBEEF));
178
+ // TODO: Could check beef validates transaction inputs...
179
+ // Transaction must have unsigned or unprocessed status
180
+ if (transaction.status !== 'unsigned' && transaction.status !== 'unprocessed')
181
+ throw new index_client_1.sdk.WERR_INVALID_OPERATION(`invalid transaction status ${transaction.status}`);
182
+ const transactionId = (0, index_client_1.verifyId)(transaction.transactionId);
183
+ const outputOutputs = await storage.findOutputs({
184
+ partial: { userId, transactionId }
185
+ });
186
+ const inputOutputs = await storage.findOutputs({
187
+ partial: { userId, spentBy: transactionId }
188
+ });
189
+ const commission = (0, index_client_1.verifyOneOrNone)(await storage.findCommissions({ partial: { transactionId, userId } }));
190
+ if (storage.commissionSatoshis > 0) {
191
+ // A commission is required...
192
+ if (!commission)
193
+ throw new index_client_1.sdk.WERR_INTERNAL();
194
+ const commissionValid = tx.outputs.some(x => x.satoshis === commission.satoshis && x.lockingScript.toHex() === (0, index_client_1.asString)(commission.lockingScript));
195
+ if (!commissionValid)
196
+ throw new index_client_1.sdk.WERR_INVALID_OPERATION('Transaction did not include an output to cover service fee.');
197
+ }
198
+ const req = index_client_1.EntityProvenTxReq.fromTxid(params.txid, params.rawTx, transaction.inputBEEF);
199
+ req.addNotifyTransactionId(transactionId);
200
+ // "Processing" a transaction is the final step of creating a new one.
201
+ // If it is to be sent to the network directly (prior to return from processAction),
202
+ // then there is status pre-send and post-send.
203
+ // Otherwise there is no post-send status.
204
+ // Note that isSendWith trumps isNoSend, e.g. isNoSend && !isSendWith
205
+ //
206
+ // Determine what status the req and transaction should have pre- at the end of processing.
207
+ // Pre-Status (to newReq/newTx) Post-Status (to all sent reqs/txs)
208
+ // req tx req tx
209
+ // isNoSend noSend noSend
210
+ // !isNoSend && isDelayed unsent unprocessed
211
+ // !isNoSend && !isDelayed unprocessed unprocessed sending/unmined sending/unproven This is the only case that sends immediately.
212
+ let postStatus = undefined;
213
+ let status;
214
+ if (params.isNoSend && !params.isSendWith)
215
+ status = { req: 'nosend', tx: 'nosend' };
216
+ else if (!params.isNoSend && params.isDelayed)
217
+ status = { req: 'unsent', tx: 'unprocessed' };
218
+ else if (!params.isNoSend && !params.isDelayed) {
219
+ status = { req: 'unprocessed', tx: 'unprocessed' };
220
+ postStatus = { req: 'unmined', tx: 'unproven' };
221
+ }
222
+ else
223
+ throw new index_client_1.sdk.WERR_INTERNAL('logic error');
224
+ req.status = status.req;
225
+ const vargs = {
226
+ reference: params.reference,
227
+ txid: params.txid,
228
+ rawTx: params.rawTx,
229
+ isSendWith: !!params.sendWith && params.sendWith.length > 0,
230
+ isDelayed: params.isDelayed,
231
+ isNoSend: params.isNoSend,
232
+ // Properties with values added during validation.
233
+ tx,
234
+ txScriptOffsets,
235
+ transactionId,
236
+ transaction,
237
+ inputOutputs,
238
+ outputOutputs,
239
+ commission,
240
+ beef,
241
+ req,
242
+ outputUpdates: [],
243
+ // update txid, status in transactions table and drop rawTransaction value
244
+ transactionUpdate: {
245
+ txid: params.txid,
246
+ rawTx: undefined,
247
+ inputBEEF: undefined,
248
+ status: status.tx
249
+ },
250
+ postStatus
251
+ };
252
+ // update outputs with txid, script offsets and lengths, drop long output scripts from outputs table
253
+ // outputs spendable will be updated for change to true and all others to !!o.tracked when tx has been broadcast
254
+ // MAX_OUTPUTSCRIPT_LENGTH is limit for scripts left in outputs table
255
+ for (const o of vargs.outputOutputs) {
256
+ const vout = (0, index_client_1.verifyInteger)(o.vout);
257
+ const offset = vargs.txScriptOffsets.outputs[vout];
258
+ const rawTxScript = (0, index_client_1.asString)(vargs.rawTx.slice(offset.offset, offset.offset + offset.length));
259
+ if (o.lockingScript && rawTxScript !== (0, index_client_1.asString)(o.lockingScript))
260
+ throw new index_client_1.sdk.WERR_INVALID_OPERATION(`rawTx output locking script for vout ${vout} not equal to expected output script.`);
261
+ if (tx.outputs[vout].lockingScript.toHex() !== rawTxScript)
262
+ throw new index_client_1.sdk.WERR_INVALID_OPERATION(`parsed transaction output locking script for vout ${vout} not equal to expected output script.`);
263
+ const update = {
264
+ txid: vargs.txid,
265
+ spendable: o.basketId !== undefined, // spendability is gated by transaction status. Remains true until the output is spent.
266
+ scriptLength: offset.length,
267
+ scriptOffset: offset.offset
268
+ };
269
+ if (offset.length > (await storage.getSettings()).maxOutputScript)
270
+ // Remove long lockingScript data from outputs table, will be read from rawTx in proven_tx or proven_tx_reqs tables.
271
+ update.lockingScript = undefined;
272
+ vargs.outputUpdates.push({ id: o.outputId, update });
273
+ }
274
+ return vargs;
275
+ }
276
+ async function commitNewTxToStorage(storage, userId, vargs) {
277
+ let log = vargs.log;
278
+ log = (0, index_client_1.stampLog)(log, `start storage commitNewTxToStorage`);
279
+ let req;
280
+ await storage.transaction(async (trx) => {
281
+ log = (0, index_client_1.stampLog)(log, `... storage commitNewTxToStorage storage transaction start`);
282
+ // Create initial 'nosend' proven_tx_req record to store signed, valid rawTx and input beef
283
+ req = await vargs.req.insertOrMerge(storage, trx);
284
+ log = (0, index_client_1.stampLog)(log, `... storage commitNewTxToStorage req inserted`);
285
+ for (const ou of vargs.outputUpdates) {
286
+ await storage.updateOutput(ou.id, ou.update, trx);
287
+ }
288
+ log = (0, index_client_1.stampLog)(log, `... storage commitNewTxToStorage outputs updated`);
289
+ await storage.updateTransaction(vargs.transactionId, vargs.transactionUpdate, trx);
290
+ log = (0, index_client_1.stampLog)(log, `... storage commitNewTxToStorage storage transaction end`);
291
+ });
292
+ log = (0, index_client_1.stampLog)(log, `... storage commitNewTxToStorage storage transaction await done`);
293
+ const r = {
294
+ req: (0, index_client_1.verifyTruthy)(req),
295
+ log
296
+ };
297
+ log = (0, index_client_1.stampLog)(log, `end storage commitNewTxToStorage`);
298
+ return r;
299
+ }
300
+ async function createMergedBeefOfTxids(txids, storage) {
301
+ const beef = new sdk_1.Beef();
302
+ const options = {
303
+ mergeToBeef: beef,
304
+ ignoreNewProven: true
305
+ };
306
+ for (const txid of txids) {
307
+ await storage.getBeefForTransaction(txid, options);
308
+ }
309
+ return beef.toBinary();
310
+ }
311
+ //# sourceMappingURL=processAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processAction.js","sourceRoot":"","sources":["../../../../../src/storage/methods/processAction.ts"],"names":[],"mappings":";;AA8BA,sCAmCC;AAjED,6DAA6D;AAC7D,kCAAoG;AACpG,qDAwB2B;AAIpB,KAAK,UAAU,aAAa,CACjC,OAAwB,EACxB,IAAgB,EAChB,IAAkC;IAElC,IAAA,uBAAQ,EAAC,IAAI,CAAC,GAAG,EAAE,gCAAgC,CAAC,CAAA;IAEpD,MAAM,MAAM,GAAG,IAAA,uBAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpC,MAAM,CAAC,GAAoC;QACzC,eAAe,EAAE,SAAS;KAC3B,CAAA;IAED,IAAI,GAAkC,CAAA;IACtC,MAAM,2BAA2B,GAAa,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAEhE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,gCAAgC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAC1E;QAAA,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;QAC9E,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,kBAAG,CAAC,aAAa,EAAE,CAAA;QACvC,gGAAgG;QAChG,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,IAAA,uBAAQ,EAAC,IAAI,CAAC,GAAG,EAAE,qDAAqD,CAAC,CAAA;aAC3G,CAAC;YACJ,2BAA2B,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC1C,IAAA,uBAAQ,EAAC,IAAI,CAAC,GAAG,EAAE,yDAAyD,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;QACzF,CAAC;IACH,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,2BAA2B,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IAE3G,CAAC,CAAC,eAAe,GAAG,GAAG,CAAA;IACvB,CAAC,CAAC,iBAAiB,GAAG,GAAG,CAAA;IAEzB,IAAA,uBAAQ,EAAC,IAAI,CAAC,GAAG,EAAE,8BAA8B,CAAC,CAAA;IAElD,OAAO,CAAC,CAAA;AACV,CAAC;AAmCD;;;;;;;;;GASG;AACH,KAAK,UAAU,kBAAkB,CAC/B,OAAwB,EACxB,MAAc,EACd,KAAe,EACf,SAAkB;IAElB,IAAI,GAAG,GAAqB,EAAE,CAAA;IAC9B,IAAI,GAAG,GAAqC,SAAS,CAAA;IAErD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;IAEzC,4EAA4E;IAC5E,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,8BAA8B,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAEjE,6CAA6C;IAC7C,MAAM,GAAG,GAMH,EAAE,CAAA;IAER,MAAM,eAAe,GAAwB,EAAE,CAAA;IAC/C,KAAK,MAAM,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,MAAM,GAAyB,QAAQ,CAAA;QAC3C,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa;YAAE,MAAM,GAAG,UAAU,CAAA;aACnD,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACzC,MAAM,GAAG,SAAS,CAAA;YAClB,eAAe,CAAC,IAAI,CAAC,IAAI,gCAAiB,CAAC,MAAM,CAAC,GAAI,CAAC,CAAC,CAAA;QAC1D,CAAC;QACD,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM;YACN,MAAM;SACP,CAAC,CAAA;IACJ,CAAC;IAED,2EAA2E;IAC3E,MAAM,iBAAiB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACxD,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAErF,kFAAkF;IAClF,2FAA2F;IAC3F,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,eAAe,EAAE,CAAC,CAAA;QACtF,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,kBAAG,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAA;IACjF,CAAC;IAED,iDAAiD;IACjD,+DAA+D;IAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,gCAAiB,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAClE,IAAI,SAAS,EAAE,CAAC;QACd,uEAAuE;QACvE,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;gBACpC,MAAM,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAA;gBACpF,MAAM,OAAO,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,CAAA;YAC7E,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,aAAa,EAAE,CAAA;IACxB,CAAC;IAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,aAAa,EAAE,CAAA;IACxB,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,+BAA+B;QAC/B,KAAK,MAAM,GAAG,IAAI,eAAe;YAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;QACpD,MAAM,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,EAAE;IACF,uCAAuC;IACvC,EAAE;IACF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAA;IAEtE,uFAAuF;IACvF,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAA;QACpB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QACjD,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,kBAAG,CAAC,aAAa,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAA;QAClE,EAAE,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAA;QAC1E,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;YACjB,KAAK,SAAS;gBACZ,mDAAmD;gBACnD,EAAE,CAAC,MAAM,GAAG,UAAU,CAAA;gBACtB,MAAK;YACP,KAAK,aAAa;gBAChB,0BAA0B;gBAC1B,EAAE,CAAC,MAAM,GAAG,QAAQ,CAAA;gBACpB,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,aAAa,CAAA;gBAC7B,IAAI,CAAC,CAAC,YAAY;oBAAE,EAAE,CAAC,GAAG,CAAC,aAAa,GAAG,MAAM,uBAAuB,CAAC,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;gBACjG,MAAK;YACP,KAAK,cAAc;gBACjB,yBAAyB;gBACzB,EAAE,CAAC,MAAM,GAAG,SAAS,CAAA;gBACrB,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,cAAc,CAAA;gBAC9B,MAAK;YACP,KAAK,WAAW;gBACd,oCAAoC;gBACpC,EAAE,CAAC,MAAM,GAAG,QAAQ,CAAA;gBACpB,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,WAAW,CAAA;gBAC3B,MAAK;YACP,KAAK,SAAS,CAAC;YACf,KAAK,SAAS,CAAC;YACf;gBACE,MAAM,IAAI,kBAAG,CAAC,aAAa,CAAC,wCAAwC,CAAC,CAAC,MAAM,oBAAoB,CAAC,CAAA;QACrG,CAAC;IACH,CAAC;IAED,OAAO,aAAa,EAAE,CAAA;IAEtB,SAAS,aAAa;QACpB,GAAG,GAAG,EAAE,CAAA;QACR,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;QAChC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;YAC9C,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;gBAClB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;YAClB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;IACrB,CAAC;AACH,CAAC;AAmCD,KAAK,UAAU,gCAAgC,CAC7C,OAAwB,EACxB,MAAc,EACd,MAAoC;IAEpC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK;QACpD,MAAM,IAAI,kBAAG,CAAC,sBAAsB,CAAC,4CAA4C,CAAC,CAAA;IACpF,IAAI,EAAkB,CAAA;IACtB,IAAI,CAAC;QACH,EAAE,GAAG,iBAAc,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,MAAM,IAAI,kBAAG,CAAC,sBAAsB,CAAC,wCAAwC,CAAC,CAAA;IAChF,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAC9B,MAAM,IAAI,kBAAG,CAAC,sBAAsB,CAAC,4DAA4D,CAAC,CAAA;IACpG,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,kBAAG,CAAC,sBAAsB,CAAC;;2FAEkD,CAAC,CAAA;IAC1F,CAAC;IACD,MAAM,eAAe,GAAG,IAAA,mCAAoB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC1D,MAAM,WAAW,GAAG,IAAA,wBAAS,EAC3B,MAAM,OAAO,CAAC,gBAAgB,CAAC;QAC7B,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE;KACjD,CAAC,CACH,CAAA;IACD,IAAI,CAAC,WAAW,CAAC,UAAU;QAAE,MAAM,IAAI,kBAAG,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,CAAA;IAC3F,IAAI,CAAC,WAAW,CAAC,SAAS;QAAE,MAAM,IAAI,kBAAG,CAAC,sBAAsB,EAAE,CAAA;IAClE,MAAM,IAAI,GAAG,UAAI,CAAC,UAAU,CAAC,IAAA,sBAAO,EAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAA;IAC5D,yDAAyD;IACzD,uDAAuD;IACvD,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,IAAI,WAAW,CAAC,MAAM,KAAK,aAAa;QAC3E,MAAM,IAAI,kBAAG,CAAC,sBAAsB,CAAC,8BAA8B,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;IAC1F,MAAM,aAAa,GAAG,IAAA,uBAAQ,EAAC,WAAW,CAAC,aAAa,CAAC,CAAA;IACzD,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;QAC9C,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;KACnC,CAAC,CAAA;IACF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;QAC7C,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE;KAC5C,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,IAAA,8BAAe,EAAC,MAAM,OAAO,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;IACzG,IAAI,OAAO,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC;QACnC,8BAA8B;QAC9B,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,kBAAG,CAAC,aAAa,EAAE,CAAA;QAC9C,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,QAAQ,IAAI,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,IAAA,uBAAQ,EAAC,UAAU,CAAC,aAAc,CAAC,CAC3G,CAAA;QACD,IAAI,CAAC,eAAe;YAClB,MAAM,IAAI,kBAAG,CAAC,sBAAsB,CAAC,6DAA6D,CAAC,CAAA;IACvG,CAAC;IAED,MAAM,GAAG,GAAG,gCAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;IACxF,GAAG,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAA;IAEzC,sEAAsE;IACtE,oFAAoF;IACpF,+CAA+C;IAC/C,0CAA0C;IAC1C,qEAAqE;IACrE,EAAE;IACF,2FAA2F;IAC3F,gGAAgG;IAChG,oFAAoF;IACpF,+CAA+C;IAC/C,oDAAoD;IACpD,qJAAqJ;IACrJ,IAAI,UAAU,GAA4B,SAAS,CAAA;IACnD,IAAI,MAAmB,CAAA;IACvB,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU;QAAE,MAAM,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAA;SAC9E,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS;QAAE,MAAM,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,aAAa,EAAE,CAAA;SACvF,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAC/C,MAAM,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,CAAA;QAClD,UAAU,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,CAAA;IACjD,CAAC;;QAAM,MAAM,IAAI,kBAAG,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;IAEjD,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAA;IACvB,MAAM,KAAK,GAAkC;QAC3C,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC3D,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,kDAAkD;QAClD,EAAE;QACF,eAAe;QACf,aAAa;QACb,WAAW;QACX,YAAY;QACZ,aAAa;QACb,UAAU;QACV,IAAI;QACJ,GAAG;QACH,aAAa,EAAE,EAAE;QACjB,0EAA0E;QAC1E,iBAAiB,EAAE;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,MAAM,CAAC,EAAE;SAClB;QACD,UAAU;KACX,CAAA;IAED,oGAAoG;IACpG,gHAAgH;IAChH,qEAAqE;IACrE,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAA,4BAAa,EAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAClD,MAAM,WAAW,GAAG,IAAA,uBAAQ,EAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QAC7F,IAAI,CAAC,CAAC,aAAa,IAAI,WAAW,KAAK,IAAA,uBAAQ,EAAC,CAAC,CAAC,aAAa,CAAC;YAC9D,MAAM,IAAI,kBAAG,CAAC,sBAAsB,CAClC,wCAAwC,IAAI,uCAAuC,CACpF,CAAA;QACH,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,WAAW;YACxD,MAAM,IAAI,kBAAG,CAAC,sBAAsB,CAClC,qDAAqD,IAAI,uCAAuC,CACjG,CAAA;QACH,MAAM,MAAM,GAAyB;YACnC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE,uFAAuF;YAC5H,YAAY,EAAE,MAAM,CAAC,MAAM;YAC3B,YAAY,EAAE,MAAM,CAAC,MAAM;SAC5B,CAAA;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,eAAe;YAC/D,oHAAoH;YACpH,MAAM,CAAC,aAAa,GAAG,SAAS,CAAA;QAClC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAS,EAAE,MAAM,EAAE,CAAC,CAAA;IACvD,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAOD,KAAK,UAAU,oBAAoB,CACjC,OAAwB,EACxB,MAAc,EACd,KAAoC;IAEpC,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;IAEnB,GAAG,GAAG,IAAA,uBAAQ,EAAC,GAAG,EAAE,oCAAoC,CAAC,CAAA;IAEzD,IAAI,GAAkC,CAAA;IAEtC,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;QACpC,GAAG,GAAG,IAAA,uBAAQ,EAAC,GAAG,EAAE,4DAA4D,CAAC,CAAA;QAEjF,2FAA2F;QAC3F,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAEjD,GAAG,GAAG,IAAA,uBAAQ,EAAC,GAAG,EAAE,+CAA+C,CAAC,CAAA;QAEpE,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACrC,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QACnD,CAAC;QAED,GAAG,GAAG,IAAA,uBAAQ,EAAC,GAAG,EAAE,kDAAkD,CAAC,CAAA;QAEvE,MAAM,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;QAElF,GAAG,GAAG,IAAA,uBAAQ,EAAC,GAAG,EAAE,0DAA0D,CAAC,CAAA;IACjF,CAAC,CAAC,CAAA;IAEF,GAAG,GAAG,IAAA,uBAAQ,EAAC,GAAG,EAAE,iEAAiE,CAAC,CAAA;IAEtF,MAAM,CAAC,GAAuB;QAC5B,GAAG,EAAE,IAAA,2BAAY,EAAC,GAAG,CAAC;QACtB,GAAG;KACJ,CAAA;IAED,GAAG,GAAG,IAAA,uBAAQ,EAAC,GAAG,EAAE,kCAAkC,CAAC,CAAA;IAEvD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,KAAe,EAAE,OAAwB;IAC9E,MAAM,IAAI,GAAG,IAAI,UAAI,EAAE,CAAA;IACvB,MAAM,OAAO,GAA0B;QACrC,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,IAAI;KACtB,CAAA;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACpD,CAAC;IACD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA;AACxB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { sdk } from '../../index.client';
2
+ import { StorageIdb } from '../StorageIdb';
3
+ export declare function purgeDataIdb(storage: StorageIdb, params: sdk.PurgeParams, trx?: sdk.TrxToken): Promise<sdk.PurgeResults>;
4
+ //# sourceMappingURL=purgeDataIdb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"purgeDataIdb.d.ts","sourceRoot":"","sources":["../../../../../src/storage/methods/purgeDataIdb.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,wBAAsB,YAAY,CAChC,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,GAAG,CAAC,WAAW,EACvB,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,GACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAI3B"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.purgeDataIdb = purgeDataIdb;
4
+ async function purgeDataIdb(storage, params, trx) {
5
+ const r = { count: 0, log: '' };
6
+ // TODO: implement purgeDataIdb
7
+ return r;
8
+ }
9
+ //# sourceMappingURL=purgeDataIdb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"purgeDataIdb.js","sourceRoot":"","sources":["../../../../../src/storage/methods/purgeDataIdb.ts"],"names":[],"mappings":";;AAMA,oCAQC;AARM,KAAK,UAAU,YAAY,CAChC,OAAmB,EACnB,MAAuB,EACvB,GAAkB;IAElB,MAAM,CAAC,GAAqB,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAA;IACjD,+BAA+B;IAC/B,OAAO,CAAC,CAAA;AACV,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { sdk } from '../../index.client';
2
+ import { StorageIdb } from '../StorageIdb';
3
+ /**
4
+ * Looks for unpropagated state:
5
+ *
6
+ * 1. set transactions to 'failed' if not already failed and provenTxReq with matching txid has status of 'invalid'.
7
+ * 2. sets transactions to 'completed' if provenTx with matching txid exists and current provenTxId is null.
8
+ * 3. sets outputs to spendable true, spentBy undefined if spentBy is a transaction with status 'failed'.
9
+ *
10
+ * @param storage
11
+ * @param args
12
+ * @returns
13
+ */
14
+ export declare function reviewStatusIdb(storage: StorageIdb, args: {
15
+ agedLimit: Date;
16
+ trx?: sdk.TrxToken;
17
+ }): Promise<{
18
+ log: string;
19
+ }>;
20
+ //# sourceMappingURL=reviewStatusIdb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewStatusIdb.d.ts","sourceRoot":"","sources":["../../../../../src/storage/methods/reviewStatusIdb.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE;IAAE,SAAS,EAAE,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAA;CAAE,GAC5C,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAsB1B"}