@bsv/wallet-toolbox-client 1.1.0

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 (390) hide show
  1. package/out/src/Wallet.d.ts +83 -0
  2. package/out/src/Wallet.d.ts.map +1 -0
  3. package/out/src/Wallet.js +415 -0
  4. package/out/src/Wallet.js.map +1 -0
  5. package/out/src/index.client.d.ts +8 -0
  6. package/out/src/index.client.d.ts.map +1 -0
  7. package/out/src/index.client.js +47 -0
  8. package/out/src/index.client.js.map +1 -0
  9. package/out/src/monitor/Monitor.d.ts +89 -0
  10. package/out/src/monitor/Monitor.d.ts.map +1 -0
  11. package/out/src/monitor/Monitor.js +253 -0
  12. package/out/src/monitor/Monitor.js.map +1 -0
  13. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +53 -0
  14. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -0
  15. package/out/src/monitor/tasks/TaskCheckForProofs.js +197 -0
  16. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -0
  17. package/out/src/monitor/tasks/TaskClock.d.ts +14 -0
  18. package/out/src/monitor/tasks/TaskClock.d.ts.map +1 -0
  19. package/out/src/monitor/tasks/TaskClock.js +27 -0
  20. package/out/src/monitor/tasks/TaskClock.js.map +1 -0
  21. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts +20 -0
  22. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -0
  23. package/out/src/monitor/tasks/TaskFailAbandoned.js +52 -0
  24. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -0
  25. package/out/src/monitor/tasks/TaskNewHeader.d.ts +15 -0
  26. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -0
  27. package/out/src/monitor/tasks/TaskNewHeader.js +45 -0
  28. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -0
  29. package/out/src/monitor/tasks/TaskPurge.d.ts +45 -0
  30. package/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -0
  31. package/out/src/monitor/tasks/TaskPurge.js +35 -0
  32. package/out/src/monitor/tasks/TaskPurge.js.map +1 -0
  33. package/out/src/monitor/tasks/TaskReviewStatus.d.ts +26 -0
  34. package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -0
  35. package/out/src/monitor/tasks/TaskReviewStatus.js +44 -0
  36. package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -0
  37. package/out/src/monitor/tasks/TaskSendWaiting.d.ts +32 -0
  38. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -0
  39. package/out/src/monitor/tasks/TaskSendWaiting.js +99 -0
  40. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -0
  41. package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts +12 -0
  42. package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts.map +1 -0
  43. package/out/src/monitor/tasks/TaskSyncWhenIdle.js +22 -0
  44. package/out/src/monitor/tasks/TaskSyncWhenIdle.js.map +1 -0
  45. package/out/src/monitor/tasks/WalletMonitorTask.d.ts +40 -0
  46. package/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +1 -0
  47. package/out/src/monitor/tasks/WalletMonitorTask.js +37 -0
  48. package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -0
  49. package/out/src/sdk/CertOps.d.ts +66 -0
  50. package/out/src/sdk/CertOps.d.ts.map +1 -0
  51. package/out/src/sdk/CertOps.js +198 -0
  52. package/out/src/sdk/CertOps.js.map +1 -0
  53. package/out/src/sdk/PrivilegedKeyManager.d.ts +125 -0
  54. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -0
  55. package/out/src/sdk/PrivilegedKeyManager.js +293 -0
  56. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -0
  57. package/out/src/sdk/StorageSyncReader.d.ts +121 -0
  58. package/out/src/sdk/StorageSyncReader.d.ts.map +1 -0
  59. package/out/src/sdk/StorageSyncReader.js +3 -0
  60. package/out/src/sdk/StorageSyncReader.js.map +1 -0
  61. package/out/src/sdk/StorageSyncReaderWriter.d.ts +89 -0
  62. package/out/src/sdk/StorageSyncReaderWriter.d.ts.map +1 -0
  63. package/out/src/sdk/StorageSyncReaderWriter.js +3 -0
  64. package/out/src/sdk/StorageSyncReaderWriter.js.map +1 -0
  65. package/out/src/sdk/WERR_errors.d.ts +90 -0
  66. package/out/src/sdk/WERR_errors.d.ts.map +1 -0
  67. package/out/src/sdk/WERR_errors.js +128 -0
  68. package/out/src/sdk/WERR_errors.js.map +1 -0
  69. package/out/src/sdk/WalletError.d.ts +45 -0
  70. package/out/src/sdk/WalletError.d.ts.map +1 -0
  71. package/out/src/sdk/WalletError.js +122 -0
  72. package/out/src/sdk/WalletError.js.map +1 -0
  73. package/out/src/sdk/WalletServices.interfaces.d.ts +325 -0
  74. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -0
  75. package/out/src/sdk/WalletServices.interfaces.js +3 -0
  76. package/out/src/sdk/WalletServices.interfaces.js.map +1 -0
  77. package/out/src/sdk/WalletSigner.interfaces.d.ts +10 -0
  78. package/out/src/sdk/WalletSigner.interfaces.d.ts.map +1 -0
  79. package/out/src/sdk/WalletSigner.interfaces.js +3 -0
  80. package/out/src/sdk/WalletSigner.interfaces.js.map +1 -0
  81. package/out/src/sdk/WalletStorage.interfaces.d.ts +299 -0
  82. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -0
  83. package/out/src/sdk/WalletStorage.interfaces.js +3 -0
  84. package/out/src/sdk/WalletStorage.interfaces.js.map +1 -0
  85. package/out/src/sdk/index.d.ts +12 -0
  86. package/out/src/sdk/index.d.ts.map +1 -0
  87. package/out/src/sdk/index.js +28 -0
  88. package/out/src/sdk/index.js.map +1 -0
  89. package/out/src/sdk/types.d.ts +74 -0
  90. package/out/src/sdk/types.d.ts.map +1 -0
  91. package/out/src/sdk/types.js +20 -0
  92. package/out/src/sdk/types.js.map +1 -0
  93. package/out/src/sdk/validationHelpers.d.ts +288 -0
  94. package/out/src/sdk/validationHelpers.d.ts.map +1 -0
  95. package/out/src/sdk/validationHelpers.js +630 -0
  96. package/out/src/sdk/validationHelpers.js.map +1 -0
  97. package/out/src/services/ServiceCollection.d.ts +25 -0
  98. package/out/src/services/ServiceCollection.d.ts.map +1 -0
  99. package/out/src/services/ServiceCollection.js +43 -0
  100. package/out/src/services/ServiceCollection.js.map +1 -0
  101. package/out/src/services/Services.d.ts +60 -0
  102. package/out/src/services/Services.d.ts.map +1 -0
  103. package/out/src/services/Services.js +342 -0
  104. package/out/src/services/Services.js.map +1 -0
  105. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +15 -0
  106. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -0
  107. package/out/src/services/chaintracker/ChaintracksChainTracker.js +51 -0
  108. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -0
  109. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts +98 -0
  110. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts.map +1 -0
  111. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js +38 -0
  112. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js.map +1 -0
  113. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +36 -0
  114. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -0
  115. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +130 -0
  116. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -0
  117. package/out/src/services/chaintracker/chaintracks/index.d.ts +3 -0
  118. package/out/src/services/chaintracker/chaintracks/index.d.ts.map +1 -0
  119. package/out/src/services/chaintracker/chaintracks/index.js +19 -0
  120. package/out/src/services/chaintracker/chaintracks/index.js.map +1 -0
  121. package/out/src/services/chaintracker/index.d.ts +3 -0
  122. package/out/src/services/chaintracker/index.d.ts.map +1 -0
  123. package/out/src/services/chaintracker/index.js +19 -0
  124. package/out/src/services/chaintracker/index.js.map +1 -0
  125. package/out/src/services/createDefaultWalletServicesOptions.d.ts +3 -0
  126. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -0
  127. package/out/src/services/createDefaultWalletServicesOptions.js +34 -0
  128. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -0
  129. package/out/src/services/providers/arcServices.d.ts +62 -0
  130. package/out/src/services/providers/arcServices.d.ts.map +1 -0
  131. package/out/src/services/providers/arcServices.js +368 -0
  132. package/out/src/services/providers/arcServices.js.map +1 -0
  133. package/out/src/services/providers/echangeRates.d.ts +12 -0
  134. package/out/src/services/providers/echangeRates.d.ts.map +1 -0
  135. package/out/src/services/providers/echangeRates.js +237 -0
  136. package/out/src/services/providers/echangeRates.js.map +1 -0
  137. package/out/src/services/providers/whatsonchain.d.ts +17 -0
  138. package/out/src/services/providers/whatsonchain.d.ts.map +1 -0
  139. package/out/src/services/providers/whatsonchain.js +130 -0
  140. package/out/src/services/providers/whatsonchain.js.map +1 -0
  141. package/out/src/signer/WalletSigner.d.ts +11 -0
  142. package/out/src/signer/WalletSigner.d.ts.map +1 -0
  143. package/out/src/signer/WalletSigner.js +13 -0
  144. package/out/src/signer/WalletSigner.js.map +1 -0
  145. package/out/src/signer/methods/acquireDirectCertificate.d.ts +4 -0
  146. package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -0
  147. package/out/src/signer/methods/acquireDirectCertificate.js +47 -0
  148. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -0
  149. package/out/src/signer/methods/createAction.d.ts +7 -0
  150. package/out/src/signer/methods/createAction.d.ts.map +1 -0
  151. package/out/src/signer/methods/createAction.js +250 -0
  152. package/out/src/signer/methods/createAction.js.map +1 -0
  153. package/out/src/signer/methods/internalizeAction.d.ts +31 -0
  154. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -0
  155. package/out/src/signer/methods/internalizeAction.js +95 -0
  156. package/out/src/signer/methods/internalizeAction.js.map +1 -0
  157. package/out/src/signer/methods/proveCertificate.d.ts +4 -0
  158. package/out/src/signer/methods/proveCertificate.d.ts.map +1 -0
  159. package/out/src/signer/methods/proveCertificate.js +45 -0
  160. package/out/src/signer/methods/proveCertificate.js.map +1 -0
  161. package/out/src/signer/methods/signAction.d.ts +6 -0
  162. package/out/src/signer/methods/signAction.d.ts.map +1 -0
  163. package/out/src/signer/methods/signAction.js +79 -0
  164. package/out/src/signer/methods/signAction.js.map +1 -0
  165. package/out/src/storage/StorageProvider.d.ts +140 -0
  166. package/out/src/storage/StorageProvider.d.ts.map +1 -0
  167. package/out/src/storage/StorageProvider.js +539 -0
  168. package/out/src/storage/StorageProvider.js.map +1 -0
  169. package/out/src/storage/StorageReader.d.ts +76 -0
  170. package/out/src/storage/StorageReader.d.ts.map +1 -0
  171. package/out/src/storage/StorageReader.js +124 -0
  172. package/out/src/storage/StorageReader.js.map +1 -0
  173. package/out/src/storage/StorageReaderWriter.d.ts +87 -0
  174. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -0
  175. package/out/src/storage/StorageReaderWriter.js +337 -0
  176. package/out/src/storage/StorageReaderWriter.js.map +1 -0
  177. package/out/src/storage/StorageSyncReader.d.ts +33 -0
  178. package/out/src/storage/StorageSyncReader.d.ts.map +1 -0
  179. package/out/src/storage/StorageSyncReader.js +142 -0
  180. package/out/src/storage/StorageSyncReader.js.map +1 -0
  181. package/out/src/storage/WalletStorageManager.d.ts +103 -0
  182. package/out/src/storage/WalletStorageManager.d.ts.map +1 -0
  183. package/out/src/storage/WalletStorageManager.js +408 -0
  184. package/out/src/storage/WalletStorageManager.js.map +1 -0
  185. package/out/src/storage/index.client.d.ts +7 -0
  186. package/out/src/storage/index.client.d.ts.map +1 -0
  187. package/out/src/storage/index.client.js +46 -0
  188. package/out/src/storage/index.client.js.map +1 -0
  189. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +27 -0
  190. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -0
  191. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +148 -0
  192. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -0
  193. package/out/src/storage/methods/createAction.d.ts +23 -0
  194. package/out/src/storage/methods/createAction.d.ts.map +1 -0
  195. package/out/src/storage/methods/createAction.js +663 -0
  196. package/out/src/storage/methods/createAction.js.map +1 -0
  197. package/out/src/storage/methods/generateChange.d.ts +108 -0
  198. package/out/src/storage/methods/generateChange.d.ts.map +1 -0
  199. package/out/src/storage/methods/generateChange.js +422 -0
  200. package/out/src/storage/methods/generateChange.js.map +1 -0
  201. package/out/src/storage/methods/getBeefForTransaction.d.ts +22 -0
  202. package/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -0
  203. package/out/src/storage/methods/getBeefForTransaction.js +94 -0
  204. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -0
  205. package/out/src/storage/methods/getSyncChunk.d.ts +10 -0
  206. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -0
  207. package/out/src/storage/methods/getSyncChunk.js +271 -0
  208. package/out/src/storage/methods/getSyncChunk.js.map +1 -0
  209. package/out/src/storage/methods/internalizeAction.d.ts +38 -0
  210. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -0
  211. package/out/src/storage/methods/internalizeAction.js +378 -0
  212. package/out/src/storage/methods/internalizeAction.js.map +1 -0
  213. package/out/src/storage/methods/listCertificates.d.ts +5 -0
  214. package/out/src/storage/methods/listCertificates.d.ts.map +1 -0
  215. package/out/src/storage/methods/listCertificates.js +68 -0
  216. package/out/src/storage/methods/listCertificates.js.map +1 -0
  217. package/out/src/storage/methods/processAction.d.ts +35 -0
  218. package/out/src/storage/methods/processAction.d.ts.map +1 -0
  219. package/out/src/storage/methods/processAction.js +271 -0
  220. package/out/src/storage/methods/processAction.js.map +1 -0
  221. package/out/src/storage/remoting/StorageClient.d.ts +56 -0
  222. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -0
  223. package/out/src/storage/remoting/StorageClient.js +181 -0
  224. package/out/src/storage/remoting/StorageClient.js.map +1 -0
  225. package/out/src/storage/schema/entities/Certificate.d.ts +43 -0
  226. package/out/src/storage/schema/entities/Certificate.d.ts.map +1 -0
  227. package/out/src/storage/schema/entities/Certificate.js +162 -0
  228. package/out/src/storage/schema/entities/Certificate.js.map +1 -0
  229. package/out/src/storage/schema/entities/CertificateField.d.ts +32 -0
  230. package/out/src/storage/schema/entities/CertificateField.d.ts.map +1 -0
  231. package/out/src/storage/schema/entities/CertificateField.js +114 -0
  232. package/out/src/storage/schema/entities/CertificateField.js.map +1 -0
  233. package/out/src/storage/schema/entities/Commission.d.ts +37 -0
  234. package/out/src/storage/schema/entities/Commission.d.ts.map +1 -0
  235. package/out/src/storage/schema/entities/Commission.js +130 -0
  236. package/out/src/storage/schema/entities/Commission.js.map +1 -0
  237. package/out/src/storage/schema/entities/EntityBase.d.ts +105 -0
  238. package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -0
  239. package/out/src/storage/schema/entities/EntityBase.js +100 -0
  240. package/out/src/storage/schema/entities/EntityBase.js.map +1 -0
  241. package/out/src/storage/schema/entities/MergeEntity.d.ts +34 -0
  242. package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -0
  243. package/out/src/storage/schema/entities/MergeEntity.js +57 -0
  244. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -0
  245. package/out/src/storage/schema/entities/Output.d.ts +67 -0
  246. package/out/src/storage/schema/entities/Output.d.ts.map +1 -0
  247. package/out/src/storage/schema/entities/Output.js +281 -0
  248. package/out/src/storage/schema/entities/Output.js.map +1 -0
  249. package/out/src/storage/schema/entities/OutputBasket.d.ts +35 -0
  250. package/out/src/storage/schema/entities/OutputBasket.d.ts.map +1 -0
  251. package/out/src/storage/schema/entities/OutputBasket.js +133 -0
  252. package/out/src/storage/schema/entities/OutputBasket.js.map +1 -0
  253. package/out/src/storage/schema/entities/OutputTag.d.ts +31 -0
  254. package/out/src/storage/schema/entities/OutputTag.d.ts.map +1 -0
  255. package/out/src/storage/schema/entities/OutputTag.js +104 -0
  256. package/out/src/storage/schema/entities/OutputTag.js.map +1 -0
  257. package/out/src/storage/schema/entities/OutputTagMap.d.ts +28 -0
  258. package/out/src/storage/schema/entities/OutputTagMap.d.ts.map +1 -0
  259. package/out/src/storage/schema/entities/OutputTagMap.js +101 -0
  260. package/out/src/storage/schema/entities/OutputTagMap.js.map +1 -0
  261. package/out/src/storage/schema/entities/ProvenTx.d.ts +84 -0
  262. package/out/src/storage/schema/entities/ProvenTx.d.ts.map +1 -0
  263. package/out/src/storage/schema/entities/ProvenTx.js +283 -0
  264. package/out/src/storage/schema/entities/ProvenTx.js.map +1 -0
  265. package/out/src/storage/schema/entities/ProvenTxReq.d.ts +130 -0
  266. package/out/src/storage/schema/entities/ProvenTxReq.d.ts.map +1 -0
  267. package/out/src/storage/schema/entities/ProvenTxReq.js +521 -0
  268. package/out/src/storage/schema/entities/ProvenTxReq.js.map +1 -0
  269. package/out/src/storage/schema/entities/SyncState.d.ts +66 -0
  270. package/out/src/storage/schema/entities/SyncState.d.ts.map +1 -0
  271. package/out/src/storage/schema/entities/SyncState.js +284 -0
  272. package/out/src/storage/schema/entities/SyncState.js.map +1 -0
  273. package/out/src/storage/schema/entities/Transaction.d.ts +67 -0
  274. package/out/src/storage/schema/entities/Transaction.d.ts.map +1 -0
  275. package/out/src/storage/schema/entities/Transaction.js +264 -0
  276. package/out/src/storage/schema/entities/Transaction.js.map +1 -0
  277. package/out/src/storage/schema/entities/TxLabel.d.ts +31 -0
  278. package/out/src/storage/schema/entities/TxLabel.d.ts.map +1 -0
  279. package/out/src/storage/schema/entities/TxLabel.js +104 -0
  280. package/out/src/storage/schema/entities/TxLabel.js.map +1 -0
  281. package/out/src/storage/schema/entities/TxLabelMap.d.ts +28 -0
  282. package/out/src/storage/schema/entities/TxLabelMap.d.ts.map +1 -0
  283. package/out/src/storage/schema/entities/TxLabelMap.js +103 -0
  284. package/out/src/storage/schema/entities/TxLabelMap.js.map +1 -0
  285. package/out/src/storage/schema/entities/User.d.ts +29 -0
  286. package/out/src/storage/schema/entities/User.d.ts.map +1 -0
  287. package/out/src/storage/schema/entities/User.js +100 -0
  288. package/out/src/storage/schema/entities/User.js.map +1 -0
  289. package/out/src/storage/schema/entities/index.d.ts +17 -0
  290. package/out/src/storage/schema/entities/index.d.ts.map +1 -0
  291. package/out/src/storage/schema/entities/index.js +33 -0
  292. package/out/src/storage/schema/entities/index.js.map +1 -0
  293. package/out/src/storage/schema/tables/Certificate.d.ts +20 -0
  294. package/out/src/storage/schema/tables/Certificate.d.ts.map +1 -0
  295. package/out/src/storage/schema/tables/Certificate.js +3 -0
  296. package/out/src/storage/schema/tables/Certificate.js.map +1 -0
  297. package/out/src/storage/schema/tables/CertificateField.d.ts +12 -0
  298. package/out/src/storage/schema/tables/CertificateField.d.ts.map +1 -0
  299. package/out/src/storage/schema/tables/CertificateField.js +3 -0
  300. package/out/src/storage/schema/tables/CertificateField.js.map +1 -0
  301. package/out/src/storage/schema/tables/Commission.d.ts +13 -0
  302. package/out/src/storage/schema/tables/Commission.d.ts.map +1 -0
  303. package/out/src/storage/schema/tables/Commission.js +3 -0
  304. package/out/src/storage/schema/tables/Commission.js.map +1 -0
  305. package/out/src/storage/schema/tables/MonitorEvent.d.ts +9 -0
  306. package/out/src/storage/schema/tables/MonitorEvent.d.ts.map +1 -0
  307. package/out/src/storage/schema/tables/MonitorEvent.js +3 -0
  308. package/out/src/storage/schema/tables/MonitorEvent.js.map +1 -0
  309. package/out/src/storage/schema/tables/Output.d.ts +36 -0
  310. package/out/src/storage/schema/tables/Output.d.ts.map +1 -0
  311. package/out/src/storage/schema/tables/Output.js +31 -0
  312. package/out/src/storage/schema/tables/Output.js.map +1 -0
  313. package/out/src/storage/schema/tables/OutputBasket.d.ts +12 -0
  314. package/out/src/storage/schema/tables/OutputBasket.d.ts.map +1 -0
  315. package/out/src/storage/schema/tables/OutputBasket.js +3 -0
  316. package/out/src/storage/schema/tables/OutputBasket.js.map +1 -0
  317. package/out/src/storage/schema/tables/OutputTag.d.ts +10 -0
  318. package/out/src/storage/schema/tables/OutputTag.d.ts.map +1 -0
  319. package/out/src/storage/schema/tables/OutputTag.js +3 -0
  320. package/out/src/storage/schema/tables/OutputTag.js.map +1 -0
  321. package/out/src/storage/schema/tables/OutputTagMap.d.ts +9 -0
  322. package/out/src/storage/schema/tables/OutputTagMap.d.ts.map +1 -0
  323. package/out/src/storage/schema/tables/OutputTagMap.js +3 -0
  324. package/out/src/storage/schema/tables/OutputTagMap.js.map +1 -0
  325. package/out/src/storage/schema/tables/ProvenTx.d.ts +14 -0
  326. package/out/src/storage/schema/tables/ProvenTx.d.ts.map +1 -0
  327. package/out/src/storage/schema/tables/ProvenTx.js +3 -0
  328. package/out/src/storage/schema/tables/ProvenTx.js.map +1 -0
  329. package/out/src/storage/schema/tables/ProvenTxReq.d.ts +64 -0
  330. package/out/src/storage/schema/tables/ProvenTxReq.d.ts.map +1 -0
  331. package/out/src/storage/schema/tables/ProvenTxReq.js +3 -0
  332. package/out/src/storage/schema/tables/ProvenTxReq.js.map +1 -0
  333. package/out/src/storage/schema/tables/Settings.d.ts +17 -0
  334. package/out/src/storage/schema/tables/Settings.d.ts.map +1 -0
  335. package/out/src/storage/schema/tables/Settings.js +3 -0
  336. package/out/src/storage/schema/tables/Settings.js.map +1 -0
  337. package/out/src/storage/schema/tables/SyncState.d.ts +18 -0
  338. package/out/src/storage/schema/tables/SyncState.d.ts.map +1 -0
  339. package/out/src/storage/schema/tables/SyncState.js +3 -0
  340. package/out/src/storage/schema/tables/SyncState.js.map +1 -0
  341. package/out/src/storage/schema/tables/Transaction.d.ts +37 -0
  342. package/out/src/storage/schema/tables/Transaction.d.ts.map +1 -0
  343. package/out/src/storage/schema/tables/Transaction.js +21 -0
  344. package/out/src/storage/schema/tables/Transaction.js.map +1 -0
  345. package/out/src/storage/schema/tables/TxLabel.d.ts +10 -0
  346. package/out/src/storage/schema/tables/TxLabel.d.ts.map +1 -0
  347. package/out/src/storage/schema/tables/TxLabel.js +3 -0
  348. package/out/src/storage/schema/tables/TxLabel.js.map +1 -0
  349. package/out/src/storage/schema/tables/TxLabelMap.d.ts +9 -0
  350. package/out/src/storage/schema/tables/TxLabelMap.d.ts.map +1 -0
  351. package/out/src/storage/schema/tables/TxLabelMap.js +3 -0
  352. package/out/src/storage/schema/tables/TxLabelMap.js.map +1 -0
  353. package/out/src/storage/schema/tables/User.d.ts +16 -0
  354. package/out/src/storage/schema/tables/User.d.ts.map +1 -0
  355. package/out/src/storage/schema/tables/User.js +3 -0
  356. package/out/src/storage/schema/tables/User.js.map +1 -0
  357. package/out/src/storage/schema/tables/index.d.ts +17 -0
  358. package/out/src/storage/schema/tables/index.d.ts.map +1 -0
  359. package/out/src/storage/schema/tables/index.js +33 -0
  360. package/out/src/storage/schema/tables/index.js.map +1 -0
  361. package/out/src/utility/ScriptTemplateSABPPP.d.ts +25 -0
  362. package/out/src/utility/ScriptTemplateSABPPP.d.ts.map +1 -0
  363. package/out/src/utility/ScriptTemplateSABPPP.js +46 -0
  364. package/out/src/utility/ScriptTemplateSABPPP.js.map +1 -0
  365. package/out/src/utility/index.client.d.ts +7 -0
  366. package/out/src/utility/index.client.d.ts.map +1 -0
  367. package/out/src/utility/index.client.js +23 -0
  368. package/out/src/utility/index.client.js.map +1 -0
  369. package/out/src/utility/parseTxScriptOffsets.d.ts +14 -0
  370. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -0
  371. package/out/src/utility/parseTxScriptOffsets.js +26 -0
  372. package/out/src/utility/parseTxScriptOffsets.js.map +1 -0
  373. package/out/src/utility/stampLog.d.ts +18 -0
  374. package/out/src/utility/stampLog.d.ts.map +1 -0
  375. package/out/src/utility/stampLog.js +72 -0
  376. package/out/src/utility/stampLog.js.map +1 -0
  377. package/out/src/utility/tscProofToMerklePath.d.ts +8 -0
  378. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -0
  379. package/out/src/utility/tscProofToMerklePath.js +41 -0
  380. package/out/src/utility/tscProofToMerklePath.js.map +1 -0
  381. package/out/src/utility/utilityHelpers.d.ts +129 -0
  382. package/out/src/utility/utilityHelpers.d.ts.map +1 -0
  383. package/out/src/utility/utilityHelpers.js +268 -0
  384. package/out/src/utility/utilityHelpers.js.map +1 -0
  385. package/out/src/utility/utilityHelpers.noBuffer.d.ts +9 -0
  386. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -0
  387. package/out/src/utility/utilityHelpers.noBuffer.js +23 -0
  388. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -0
  389. package/out/tsconfig.client.tsbuildinfo +1 -0
  390. package/package.json +27 -0
@@ -0,0 +1,378 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/no-unused-vars */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.internalizeAction = internalizeAction;
5
+ const sdk_1 = require("@bsv/sdk");
6
+ const index_client_1 = require("../../index.client");
7
+ /**
8
+ * Internalize Action allows a wallet to take ownership of outputs in a pre-existing transaction.
9
+ * The transaction may, or may not already be known to both the storage and user.
10
+ *
11
+ * Two types of outputs are handled: "wallet payments" and "basket insertions".
12
+ *
13
+ * A "basket insertion" output is considered a custom output and has no effect on the wallet's "balance".
14
+ *
15
+ * A "wallet payment" adds an outputs value to the wallet's change "balance". These outputs are assigned to the "default" basket.
16
+ *
17
+ * Processing starts with simple validation and then checks for a pre-existing transaction.
18
+ * If the transaction is already known to the user, then the outputs are reviewed against the existing outputs treatment,
19
+ * and merge rules are added to the arguments passed to the storage layer.
20
+ * The existing transaction must be in the 'unproven' or 'completed' status. Any other status is an error.
21
+ *
22
+ * When the transaction already exists, the description is updated. The isOutgoing sense is not changed.
23
+ *
24
+ * "basket insertion" Merge Rules:
25
+ * 1. The "default" basket may not be specified as the insertion basket.
26
+ * 2. A change output in the "default" basket may not be target of an insertion into a different basket.
27
+ * 3. These baskets do not affect the wallet's balance and are typed "custom".
28
+ *
29
+ * "wallet payment" Merge Rules:
30
+ * 1. Targetting an existing change "default" basket output results in a no-op. No error. No alterations made.
31
+ * 2. Targetting a previously "custom" non-change output converts it into a change output. This alters the transaction's `satoshis`, and the wallet balance.
32
+ */
33
+ async function internalizeAction(storage, auth, args) {
34
+ const ctx = new InternalizeActionContext(storage, auth, args);
35
+ await ctx.asyncSetup();
36
+ if (ctx.isMerge)
37
+ await ctx.mergedInternalize();
38
+ else
39
+ await ctx.newInternalize();
40
+ return ctx.r;
41
+ }
42
+ class InternalizeActionContext {
43
+ constructor(storage, auth, args) {
44
+ this.storage = storage;
45
+ this.auth = auth;
46
+ this.args = args;
47
+ this.vargs = index_client_1.sdk.validateInternalizeActionArgs(args);
48
+ this.userId = auth.userId;
49
+ this.r = {
50
+ accepted: true,
51
+ isMerge: false,
52
+ txid: '',
53
+ satoshis: 0
54
+ };
55
+ this.ab = new sdk_1.Beef();
56
+ this.tx = new sdk_1.Transaction();
57
+ this.changeBasket = {};
58
+ this.baskets = {};
59
+ this.basketInsertions = [];
60
+ this.walletPayments = [];
61
+ this.eos = [];
62
+ }
63
+ get isMerge() {
64
+ return this.r.isMerge;
65
+ }
66
+ set isMerge(v) {
67
+ this.r.isMerge = v;
68
+ }
69
+ get txid() {
70
+ return this.r.txid;
71
+ }
72
+ set txid(v) {
73
+ this.r.txid = v;
74
+ }
75
+ get satoshis() {
76
+ return this.r.satoshis;
77
+ }
78
+ set satoshis(v) {
79
+ this.r.satoshis = v;
80
+ }
81
+ async getBasket(basketName) {
82
+ let b = this.baskets[basketName];
83
+ if (b)
84
+ return b;
85
+ b = await this.storage.findOrInsertOutputBasket(this.userId, basketName);
86
+ this.baskets[basketName] = b;
87
+ return b;
88
+ }
89
+ async asyncSetup() {
90
+ ;
91
+ ({
92
+ ab: this.ab,
93
+ tx: this.tx,
94
+ txid: this.txid
95
+ } = await this.validateAtomicBeef(this.args.tx));
96
+ for (const o of this.args.outputs) {
97
+ if (o.outputIndex < 0 || o.outputIndex >= this.tx.outputs.length)
98
+ throw new index_client_1.sdk.WERR_INVALID_PARAMETER('outputIndex', `a valid output index in range 0 to ${this.tx.outputs.length - 1}`);
99
+ const txo = this.tx.outputs[o.outputIndex];
100
+ switch (o.protocol) {
101
+ case 'basket insertion':
102
+ {
103
+ if (!o.insertionRemittance || o.paymentRemittance)
104
+ throw new index_client_1.sdk.WERR_INVALID_PARAMETER('basket insertion', 'valid insertionRemittance and no paymentRemittance');
105
+ this.basketInsertions.push({
106
+ ...o.insertionRemittance,
107
+ txo,
108
+ vout: o.outputIndex
109
+ });
110
+ }
111
+ break;
112
+ case 'wallet payment':
113
+ {
114
+ if (o.insertionRemittance || !o.paymentRemittance)
115
+ throw new index_client_1.sdk.WERR_INVALID_PARAMETER('wallet payment', 'valid paymentRemittance and no insertionRemittance');
116
+ this.walletPayments.push({
117
+ ...o.paymentRemittance,
118
+ txo,
119
+ vout: o.outputIndex,
120
+ ignore: false
121
+ });
122
+ }
123
+ break;
124
+ default:
125
+ throw new index_client_1.sdk.WERR_INTERNAL(`unexpected protocol ${o.protocol}`);
126
+ }
127
+ }
128
+ this.changeBasket = (0, index_client_1.verifyOne)(await this.storage.findOutputBaskets({
129
+ partial: { userId: this.userId, name: 'default' }
130
+ }));
131
+ this.baskets = {};
132
+ this.etx = (0, index_client_1.verifyOneOrNone)(await this.storage.findTransactions({
133
+ partial: { userId: this.userId, txid: this.txid }
134
+ }));
135
+ if (this.etx &&
136
+ !(this.etx.status == 'completed' ||
137
+ this.etx.status === 'unproven' ||
138
+ this.etx.status === 'nosend'))
139
+ throw new index_client_1.sdk.WERR_INVALID_PARAMETER('tx', `target transaction of internalizeAction has invalid status ${this.etx.status}.`);
140
+ this.isMerge = !!this.etx;
141
+ if (this.isMerge) {
142
+ this.eos = await this.storage.findOutputs({
143
+ partial: { userId: this.userId, txid: this.txid }
144
+ }); // It is possible for a transaction to have no outputs, or less outputs in storage than in the transaction itself.
145
+ for (const eo of this.eos) {
146
+ const bi = this.basketInsertions.find(b => b.vout === eo.vout);
147
+ const wp = this.walletPayments.find(b => b.vout === eo.vout);
148
+ if (bi && wp)
149
+ throw new index_client_1.sdk.WERR_INVALID_PARAMETER('outputs', `unique outputIndex values`);
150
+ if (bi)
151
+ bi.eo = eo;
152
+ if (wp)
153
+ wp.eo = eo;
154
+ }
155
+ }
156
+ for (const basket of this.basketInsertions) {
157
+ if (this.isMerge && basket.eo) {
158
+ // merging with an existing user output
159
+ if (basket.eo.basketId === this.changeBasket.basketId) {
160
+ // converting a change output to a user basket custom output
161
+ this.satoshis -= basket.txo.satoshis;
162
+ }
163
+ }
164
+ }
165
+ for (const payment of this.walletPayments) {
166
+ if (this.isMerge) {
167
+ if (payment.eo) {
168
+ // merging with an existing user output
169
+ if (payment.eo.basketId === this.changeBasket.basketId) {
170
+ // ignore attempts to internalize an existing change output.
171
+ payment.ignore = true;
172
+ }
173
+ else {
174
+ // converting an existing non-change output to change... increases net satoshis
175
+ this.satoshis += payment.txo.satoshis;
176
+ }
177
+ }
178
+ else {
179
+ // adding a previously untracked output of an existing transaction as change... increase net satoshis
180
+ this.satoshis += payment.txo.satoshis;
181
+ }
182
+ }
183
+ else {
184
+ // If there are no existing outputs, all incoming wallet payment outputs add to net satoshis
185
+ this.satoshis += payment.txo.satoshis;
186
+ }
187
+ }
188
+ }
189
+ async validateAtomicBeef(atomicBeef) {
190
+ const ab = sdk_1.Beef.fromBinary(atomicBeef);
191
+ const txValid = await ab.verify(await this.storage.getServices().getChainTracker(), false);
192
+ if (!txValid || !ab.atomicTxid)
193
+ throw new index_client_1.sdk.WERR_INVALID_PARAMETER('tx', 'valid AtomicBEEF');
194
+ const txid = ab.atomicTxid;
195
+ const btx = ab.findTxid(txid);
196
+ if (!btx)
197
+ throw new index_client_1.sdk.WERR_INVALID_PARAMETER('tx', `valid AtomicBEEF with newest txid of ${txid}`);
198
+ const tx = btx.tx;
199
+ /*
200
+ for (const i of tx.inputs) {
201
+ if (!i.sourceTXID)
202
+ throw new sdk.WERR_INTERNAL('beef Transactions must have sourceTXIDs')
203
+ if (!i.sourceTransaction) {
204
+ const btx = ab.findTxid(i.sourceTXID)
205
+ if (!btx)
206
+ throw new sdk.WERR_INVALID_PARAMETER('tx', `valid AtomicBEEF and contain input transaction with txid ${i.sourceTXID}`);
207
+ i.sourceTransaction = btx.tx
208
+ }
209
+ }
210
+ */
211
+ return { ab, tx, txid };
212
+ }
213
+ async findOrInsertTargetTransaction(satoshis, status) {
214
+ const now = new Date();
215
+ const newTx = {
216
+ created_at: now,
217
+ updated_at: now,
218
+ transactionId: 0,
219
+ status,
220
+ satoshis,
221
+ version: this.tx.version,
222
+ lockTime: this.tx.lockTime,
223
+ reference: (0, index_client_1.randomBytesBase64)(7),
224
+ userId: this.userId,
225
+ isOutgoing: false,
226
+ description: this.args.description,
227
+ inputBEEF: undefined,
228
+ txid: this.txid,
229
+ rawTx: undefined
230
+ };
231
+ const tr = await this.storage.findOrInsertTransaction(newTx);
232
+ if (!tr.isNew) {
233
+ if (!this.isMerge)
234
+ throw new index_client_1.sdk.WERR_INVALID_PARAMETER('tx', `target transaction of internalizeAction is undergoing active changes.`);
235
+ await this.storage.updateTransaction(tr.tx.transactionId, {
236
+ satoshis: tr.tx.satoshis + satoshis
237
+ });
238
+ }
239
+ return tr.tx;
240
+ }
241
+ async mergedInternalize() {
242
+ const transactionId = this.etx.transactionId;
243
+ await this.addLabels(transactionId);
244
+ for (const payment of this.walletPayments) {
245
+ if (payment.eo && !payment.ignore)
246
+ await this.mergeWalletPaymentForOutput(transactionId, payment);
247
+ else if (!payment.ignore)
248
+ await this.storeNewWalletPaymentForOutput(transactionId, payment);
249
+ }
250
+ for (const basket of this.basketInsertions) {
251
+ if (basket.eo)
252
+ await this.mergeBasketInsertionForOutput(transactionId, basket);
253
+ else
254
+ await this.storeNewBasketInsertionForOutput(transactionId, basket);
255
+ }
256
+ }
257
+ async newInternalize() {
258
+ this.etx = await this.findOrInsertTargetTransaction(this.satoshis, 'unproven');
259
+ const transactionId = this.etx.transactionId;
260
+ // transaction record for user is new, but the txid may not be new to storage
261
+ // make sure storage pursues getting a proof for it.
262
+ const newReq = index_client_1.entity.ProvenTxReq.fromTxid(this.txid, this.tx.toBinary(), this.args.tx);
263
+ newReq.status = 'unmined';
264
+ newReq.addHistoryNote({ what: 'internalizeAction', userId: this.userId });
265
+ newReq.addNotifyTransactionId(transactionId);
266
+ const pr = await this.storage.getProvenOrReq(this.txid, newReq.toApi());
267
+ await this.addLabels(transactionId);
268
+ for (const payment of this.walletPayments) {
269
+ await this.storeNewWalletPaymentForOutput(transactionId, payment);
270
+ }
271
+ for (const basket of this.basketInsertions) {
272
+ await this.storeNewBasketInsertionForOutput(transactionId, basket);
273
+ }
274
+ }
275
+ async addLabels(transactionId) {
276
+ for (const label of this.vargs.labels) {
277
+ const txLabel = await this.storage.findOrInsertTxLabel(this.userId, label);
278
+ await this.storage.findOrInsertTxLabelMap((0, index_client_1.verifyId)(transactionId), (0, index_client_1.verifyId)(txLabel.txLabelId));
279
+ }
280
+ }
281
+ async addBasketTags(basket, outputId) {
282
+ for (const tag of basket.tags || []) {
283
+ await this.storage.tagOutput({ outputId, userId: this.userId }, tag);
284
+ }
285
+ }
286
+ async storeNewWalletPaymentForOutput(transactionId, payment) {
287
+ const now = new Date();
288
+ const txOut = {
289
+ created_at: now,
290
+ updated_at: now,
291
+ outputId: 0,
292
+ transactionId,
293
+ userId: this.userId,
294
+ spendable: true,
295
+ lockingScript: payment.txo.lockingScript.toBinary(),
296
+ vout: payment.vout,
297
+ basketId: this.changeBasket.basketId,
298
+ satoshis: payment.txo.satoshis,
299
+ txid: this.txid,
300
+ senderIdentityKey: payment.senderIdentityKey,
301
+ type: 'P2PKH',
302
+ providedBy: 'storage',
303
+ purpose: 'change',
304
+ derivationPrefix: payment.derivationPrefix,
305
+ derivationSuffix: payment.derivationSuffix,
306
+ change: true,
307
+ spentBy: undefined,
308
+ customInstructions: undefined,
309
+ outputDescription: '',
310
+ spendingDescription: undefined
311
+ };
312
+ txOut.outputId = await this.storage.insertOutput(txOut);
313
+ payment.eo = txOut;
314
+ }
315
+ async mergeWalletPaymentForOutput(transactionId, payment) {
316
+ const outputId = payment.eo.outputId;
317
+ const update = {
318
+ basketId: this.changeBasket.basketId,
319
+ type: 'P2PKH',
320
+ customInstructions: undefined,
321
+ change: true,
322
+ providedBy: 'storage',
323
+ purpose: 'change',
324
+ senderIdentityKey: payment.senderIdentityKey,
325
+ derivationPrefix: payment.derivationPrefix,
326
+ derivationSuffix: payment.derivationSuffix
327
+ };
328
+ await this.storage.updateOutput(outputId, update);
329
+ payment.eo = { ...payment.eo, ...update };
330
+ }
331
+ async mergeBasketInsertionForOutput(transactionId, basket) {
332
+ const outputId = basket.eo.outputId;
333
+ const update = {
334
+ basketId: (await this.getBasket(basket.basket)).basketId,
335
+ type: 'custom',
336
+ customInstructions: basket.customInstructions,
337
+ change: false,
338
+ providedBy: 'you',
339
+ purpose: '',
340
+ senderIdentityKey: undefined,
341
+ derivationPrefix: undefined,
342
+ derivationSuffix: undefined
343
+ };
344
+ await this.storage.updateOutput(outputId, update);
345
+ basket.eo = { ...basket.eo, ...update };
346
+ }
347
+ async storeNewBasketInsertionForOutput(transactionId, basket) {
348
+ const now = new Date();
349
+ const txOut = {
350
+ created_at: now,
351
+ updated_at: now,
352
+ outputId: 0,
353
+ transactionId,
354
+ userId: this.userId,
355
+ spendable: true,
356
+ lockingScript: basket.txo.lockingScript.toBinary(),
357
+ vout: basket.vout,
358
+ basketId: (await this.getBasket(basket.basket)).basketId,
359
+ satoshis: basket.txo.satoshis,
360
+ txid: this.txid,
361
+ type: 'custom',
362
+ customInstructions: basket.customInstructions,
363
+ change: false,
364
+ spentBy: undefined,
365
+ outputDescription: '',
366
+ spendingDescription: undefined,
367
+ providedBy: 'you',
368
+ purpose: '',
369
+ senderIdentityKey: undefined,
370
+ derivationPrefix: undefined,
371
+ derivationSuffix: undefined
372
+ };
373
+ txOut.outputId = await this.storage.insertOutput(txOut);
374
+ await this.addBasketTags(basket, txOut.outputId);
375
+ basket.eo = txOut;
376
+ }
377
+ }
378
+ //# sourceMappingURL=internalizeAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internalizeAction.js","sourceRoot":"","sources":["../../../../../src/storage/methods/internalizeAction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { ListCertificatesResult, OriginatorDomainNameStringUnder250Bytes } from '@bsv/sdk';
2
+ import { StorageProvider } from '../index.client';
3
+ import { sdk } from '../../index.client';
4
+ export declare function listCertificates(storage: StorageProvider, auth: sdk.AuthId, vargs: sdk.ValidListCertificatesArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<ListCertificatesResult>;
5
+ //# sourceMappingURL=listCertificates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listCertificates.d.ts","sourceRoot":"","sources":["../../../../../src/storage/methods/listCertificates.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,uCAAuC,EACxC,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,eAAe,EAAS,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AAExC,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,GAAG,CAAC,MAAM,EAChB,KAAK,EAAE,GAAG,CAAC,yBAAyB,EACpC,UAAU,CAAC,EAAE,uCAAuC,GACnD,OAAO,CAAC,sBAAsB,CAAC,CAoEjC"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listCertificates = listCertificates;
4
+ async function listCertificates(storage, auth, vargs, originator) {
5
+ const paged = { limit: vargs.limit, offset: vargs.offset };
6
+ const partial = {
7
+ userId: auth.userId,
8
+ isDeleted: false
9
+ };
10
+ if (vargs.partial) {
11
+ const vp = vargs.partial;
12
+ if (vp.type)
13
+ partial['type'] = vp.type;
14
+ if (vp.subject)
15
+ partial['subject'] = vp.subject;
16
+ if (vp.serialNumber)
17
+ partial['serialNumber'] = vp.serialNumber;
18
+ if (vp.certifier)
19
+ partial['certifier'] = vp.certifier;
20
+ if (vp.revocationOutpoint)
21
+ partial['revocationOutpoint'] = vp.revocationOutpoint;
22
+ if (vp.signature)
23
+ partial['signature'] = vp.signature;
24
+ }
25
+ const r = await storage.transaction(async (trx) => {
26
+ const findCertsArgs = {
27
+ partial,
28
+ certifiers: vargs.certifiers,
29
+ types: vargs.types,
30
+ paged,
31
+ trx
32
+ };
33
+ const certs = await storage.findCertificates(findCertsArgs);
34
+ const certsWithFields = await Promise.all(certs.map(async (cert) => {
35
+ const fields = await storage.findCertificateFields({
36
+ partial: { certificateId: cert.certificateId, userId: auth.userId },
37
+ trx
38
+ });
39
+ return {
40
+ ...cert,
41
+ fields: Object.fromEntries(fields.map(f => [f.fieldName, f.fieldValue])),
42
+ masterKeyring: Object.fromEntries(fields.map(f => [f.fieldName, f.masterKey]))
43
+ };
44
+ }));
45
+ const r = {
46
+ totalCertificates: 0,
47
+ certificates: certsWithFields.map(cwf => ({
48
+ type: cwf.type,
49
+ subject: cwf.subject,
50
+ serialNumber: cwf.serialNumber,
51
+ certifier: cwf.certifier,
52
+ revocationOutpoint: cwf.revocationOutpoint,
53
+ signature: cwf.signature,
54
+ fields: cwf.fields,
55
+ verifier: cwf.verifier,
56
+ keyring: cwf.masterKeyring
57
+ }))
58
+ };
59
+ if (r.certificates.length < paged.limit)
60
+ r.totalCertificates = r.certificates.length;
61
+ else {
62
+ r.totalCertificates = await storage.countCertificates(findCertsArgs);
63
+ }
64
+ return r;
65
+ });
66
+ return r;
67
+ }
68
+ //# sourceMappingURL=listCertificates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listCertificates.js","sourceRoot":"","sources":["../../../../../src/storage/methods/listCertificates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { Beef } from '@bsv/sdk';
2
+ import { entity, sdk, StorageProvider, table } from '../../index.client';
3
+ export declare function processAction(storage: StorageProvider, auth: sdk.AuthId, args: sdk.StorageProcessActionArgs): Promise<sdk.StorageProcessActionResults>;
4
+ export interface CommitNewTxResults {
5
+ req: entity.ProvenTxReq;
6
+ log?: string;
7
+ }
8
+ export interface GetReqsAndBeefDetail {
9
+ txid: string;
10
+ req?: table.ProvenTxReq;
11
+ proven?: table.ProvenTx;
12
+ status: 'readyToSend' | 'alreadySent' | 'error' | 'unknown';
13
+ error?: string;
14
+ }
15
+ export interface GetReqsAndBeefResult {
16
+ beef: Beef;
17
+ details: GetReqsAndBeefDetail[];
18
+ }
19
+ export interface PostBeefResultForTxidApi {
20
+ txid: string;
21
+ /**
22
+ * 'success' - The transaction was accepted for processing
23
+ */
24
+ status: 'success' | 'error';
25
+ /**
26
+ * if true, the transaction was already known to this service. Usually treat as a success.
27
+ *
28
+ * Potentially stop posting to additional transaction processors.
29
+ */
30
+ alreadyKnown?: boolean;
31
+ blockHash?: string;
32
+ blockHeight?: number;
33
+ merklePath?: 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,EACL,IAAI,EAIL,MAAM,UAAU,CAAA;AACjB,OAAO,EAGL,MAAM,EAGN,GAAG,EAIH,eAAe,EACf,KAAK,EAQN,MAAM,oBAAoB,CAAA;AAE3B,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,CA6C1C;AAoTD,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAA;IACvB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAyDD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;IACvB,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAA;IACvB,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"}