@bsv/wallet-toolbox 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 (919) hide show
  1. package/.env.template +22 -0
  2. package/.github/ISSUE_TEMPLATE/bug_report.md +40 -0
  3. package/.github/ISSUE_TEMPLATE/discussion.md +24 -0
  4. package/.github/pull_request_template.md +24 -0
  5. package/.github/workflows/push.yaml +66 -0
  6. package/.prettierrc +10 -0
  7. package/CONTRIBUTING.md +89 -0
  8. package/LICENSE.txt +28 -0
  9. package/README.md +124 -0
  10. package/dev.sqlite3 +0 -0
  11. package/docs/README.md +15 -0
  12. package/docs/client.md +6812 -0
  13. package/docs/monitor.md +648 -0
  14. package/docs/services.md +496 -0
  15. package/docs/storage.md +1884 -0
  16. package/docs/wallet.md +6812 -0
  17. package/jest.config.ts +29 -0
  18. package/knexfile.js +9 -0
  19. package/license.md +1 -0
  20. package/out/src/Wallet.d.ts +83 -0
  21. package/out/src/Wallet.d.ts.map +1 -0
  22. package/out/src/Wallet.js +415 -0
  23. package/out/src/Wallet.js.map +1 -0
  24. package/out/src/index.all.d.ts +9 -0
  25. package/out/src/index.all.d.ts.map +1 -0
  26. package/out/src/index.all.js +48 -0
  27. package/out/src/index.all.js.map +1 -0
  28. package/out/src/index.client.d.ts +8 -0
  29. package/out/src/index.client.d.ts.map +1 -0
  30. package/out/src/index.client.js +47 -0
  31. package/out/src/index.client.js.map +1 -0
  32. package/out/src/index.d.ts +3 -0
  33. package/out/src/index.d.ts.map +1 -0
  34. package/out/src/index.js +42 -0
  35. package/out/src/index.js.map +1 -0
  36. package/out/src/monitor/Monitor.d.ts +89 -0
  37. package/out/src/monitor/Monitor.d.ts.map +1 -0
  38. package/out/src/monitor/Monitor.js +253 -0
  39. package/out/src/monitor/Monitor.js.map +1 -0
  40. package/out/src/monitor/MonitorDaemon.d.ts +30 -0
  41. package/out/src/monitor/MonitorDaemon.d.ts.map +1 -0
  42. package/out/src/monitor/MonitorDaemon.js +135 -0
  43. package/out/src/monitor/MonitorDaemon.js.map +1 -0
  44. package/out/src/monitor/__test/MonitorDaemon.man.test.d.ts +2 -0
  45. package/out/src/monitor/__test/MonitorDaemon.man.test.d.ts.map +1 -0
  46. package/out/src/monitor/__test/MonitorDaemon.man.test.js +50 -0
  47. package/out/src/monitor/__test/MonitorDaemon.man.test.js.map +1 -0
  48. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +53 -0
  49. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -0
  50. package/out/src/monitor/tasks/TaskCheckForProofs.js +197 -0
  51. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -0
  52. package/out/src/monitor/tasks/TaskClock.d.ts +14 -0
  53. package/out/src/monitor/tasks/TaskClock.d.ts.map +1 -0
  54. package/out/src/monitor/tasks/TaskClock.js +27 -0
  55. package/out/src/monitor/tasks/TaskClock.js.map +1 -0
  56. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts +20 -0
  57. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -0
  58. package/out/src/monitor/tasks/TaskFailAbandoned.js +52 -0
  59. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -0
  60. package/out/src/monitor/tasks/TaskNewHeader.d.ts +15 -0
  61. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -0
  62. package/out/src/monitor/tasks/TaskNewHeader.js +45 -0
  63. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -0
  64. package/out/src/monitor/tasks/TaskPurge.d.ts +45 -0
  65. package/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -0
  66. package/out/src/monitor/tasks/TaskPurge.js +35 -0
  67. package/out/src/monitor/tasks/TaskPurge.js.map +1 -0
  68. package/out/src/monitor/tasks/TaskReviewStatus.d.ts +26 -0
  69. package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -0
  70. package/out/src/monitor/tasks/TaskReviewStatus.js +44 -0
  71. package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -0
  72. package/out/src/monitor/tasks/TaskSendWaiting.d.ts +32 -0
  73. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -0
  74. package/out/src/monitor/tasks/TaskSendWaiting.js +99 -0
  75. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -0
  76. package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts +12 -0
  77. package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts.map +1 -0
  78. package/out/src/monitor/tasks/TaskSyncWhenIdle.js +22 -0
  79. package/out/src/monitor/tasks/TaskSyncWhenIdle.js.map +1 -0
  80. package/out/src/monitor/tasks/WalletMonitorTask.d.ts +40 -0
  81. package/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +1 -0
  82. package/out/src/monitor/tasks/WalletMonitorTask.js +37 -0
  83. package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -0
  84. package/out/src/sdk/CertOps.d.ts +66 -0
  85. package/out/src/sdk/CertOps.d.ts.map +1 -0
  86. package/out/src/sdk/CertOps.js +198 -0
  87. package/out/src/sdk/CertOps.js.map +1 -0
  88. package/out/src/sdk/PrivilegedKeyManager.d.ts +125 -0
  89. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -0
  90. package/out/src/sdk/PrivilegedKeyManager.js +293 -0
  91. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -0
  92. package/out/src/sdk/StorageSyncReader.d.ts +121 -0
  93. package/out/src/sdk/StorageSyncReader.d.ts.map +1 -0
  94. package/out/src/sdk/StorageSyncReader.js +3 -0
  95. package/out/src/sdk/StorageSyncReader.js.map +1 -0
  96. package/out/src/sdk/StorageSyncReaderWriter.d.ts +89 -0
  97. package/out/src/sdk/StorageSyncReaderWriter.d.ts.map +1 -0
  98. package/out/src/sdk/StorageSyncReaderWriter.js +3 -0
  99. package/out/src/sdk/StorageSyncReaderWriter.js.map +1 -0
  100. package/out/src/sdk/WERR_errors.d.ts +90 -0
  101. package/out/src/sdk/WERR_errors.d.ts.map +1 -0
  102. package/out/src/sdk/WERR_errors.js +128 -0
  103. package/out/src/sdk/WERR_errors.js.map +1 -0
  104. package/out/src/sdk/WalletError.d.ts +45 -0
  105. package/out/src/sdk/WalletError.d.ts.map +1 -0
  106. package/out/src/sdk/WalletError.js +122 -0
  107. package/out/src/sdk/WalletError.js.map +1 -0
  108. package/out/src/sdk/WalletServices.interfaces.d.ts +325 -0
  109. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -0
  110. package/out/src/sdk/WalletServices.interfaces.js +3 -0
  111. package/out/src/sdk/WalletServices.interfaces.js.map +1 -0
  112. package/out/src/sdk/WalletSigner.interfaces.d.ts +10 -0
  113. package/out/src/sdk/WalletSigner.interfaces.d.ts.map +1 -0
  114. package/out/src/sdk/WalletSigner.interfaces.js +3 -0
  115. package/out/src/sdk/WalletSigner.interfaces.js.map +1 -0
  116. package/out/src/sdk/WalletStorage.interfaces.d.ts +299 -0
  117. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -0
  118. package/out/src/sdk/WalletStorage.interfaces.js +3 -0
  119. package/out/src/sdk/WalletStorage.interfaces.js.map +1 -0
  120. package/out/src/sdk/__test/CertificateLifeCycle.test.d.ts +2 -0
  121. package/out/src/sdk/__test/CertificateLifeCycle.test.d.ts.map +1 -0
  122. package/out/src/sdk/__test/CertificateLifeCycle.test.js +125 -0
  123. package/out/src/sdk/__test/CertificateLifeCycle.test.js.map +1 -0
  124. package/out/src/sdk/__test/PrivilegedKeyManager.test.d.ts +2 -0
  125. package/out/src/sdk/__test/PrivilegedKeyManager.test.d.ts.map +1 -0
  126. package/out/src/sdk/__test/PrivilegedKeyManager.test.js +660 -0
  127. package/out/src/sdk/__test/PrivilegedKeyManager.test.js.map +1 -0
  128. package/out/src/sdk/index.d.ts +12 -0
  129. package/out/src/sdk/index.d.ts.map +1 -0
  130. package/out/src/sdk/index.js +28 -0
  131. package/out/src/sdk/index.js.map +1 -0
  132. package/out/src/sdk/types.d.ts +74 -0
  133. package/out/src/sdk/types.d.ts.map +1 -0
  134. package/out/src/sdk/types.js +20 -0
  135. package/out/src/sdk/types.js.map +1 -0
  136. package/out/src/sdk/validationHelpers.d.ts +288 -0
  137. package/out/src/sdk/validationHelpers.d.ts.map +1 -0
  138. package/out/src/sdk/validationHelpers.js +630 -0
  139. package/out/src/sdk/validationHelpers.js.map +1 -0
  140. package/out/src/services/ServiceCollection.d.ts +25 -0
  141. package/out/src/services/ServiceCollection.d.ts.map +1 -0
  142. package/out/src/services/ServiceCollection.js +43 -0
  143. package/out/src/services/ServiceCollection.js.map +1 -0
  144. package/out/src/services/Services.d.ts +60 -0
  145. package/out/src/services/Services.d.ts.map +1 -0
  146. package/out/src/services/Services.js +342 -0
  147. package/out/src/services/Services.js.map +1 -0
  148. package/out/src/services/__tests/getMerklePath.test.d.ts +2 -0
  149. package/out/src/services/__tests/getMerklePath.test.d.ts.map +1 -0
  150. package/out/src/services/__tests/getMerklePath.test.js +16 -0
  151. package/out/src/services/__tests/getMerklePath.test.js.map +1 -0
  152. package/out/src/services/__tests/getRawTx.test.d.ts +2 -0
  153. package/out/src/services/__tests/getRawTx.test.d.ts.map +1 -0
  154. package/out/src/services/__tests/getRawTx.test.js +13 -0
  155. package/out/src/services/__tests/getRawTx.test.js.map +1 -0
  156. package/out/src/services/__tests/postBeef.test.d.ts +2 -0
  157. package/out/src/services/__tests/postBeef.test.d.ts.map +1 -0
  158. package/out/src/services/__tests/postBeef.test.js +18 -0
  159. package/out/src/services/__tests/postBeef.test.js.map +1 -0
  160. package/out/src/services/__tests/postBeefToArcTaal.test.d.ts +2 -0
  161. package/out/src/services/__tests/postBeefToArcTaal.test.d.ts.map +1 -0
  162. package/out/src/services/__tests/postBeefToArcTaal.test.js +479 -0
  163. package/out/src/services/__tests/postBeefToArcTaal.test.js.map +1 -0
  164. package/out/src/services/__tests/postTxs.test.d.ts +2 -0
  165. package/out/src/services/__tests/postTxs.test.d.ts.map +1 -0
  166. package/out/src/services/__tests/postTxs.test.js +19 -0
  167. package/out/src/services/__tests/postTxs.test.js.map +1 -0
  168. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +15 -0
  169. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -0
  170. package/out/src/services/chaintracker/ChaintracksChainTracker.js +51 -0
  171. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -0
  172. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.d.ts +2 -0
  173. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.d.ts.map +1 -0
  174. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js +19 -0
  175. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js.map +1 -0
  176. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.d.ts +2 -0
  177. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.d.ts.map +1 -0
  178. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js +29 -0
  179. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js.map +1 -0
  180. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts +98 -0
  181. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts.map +1 -0
  182. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js +38 -0
  183. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js.map +1 -0
  184. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +36 -0
  185. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -0
  186. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +130 -0
  187. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -0
  188. package/out/src/services/chaintracker/chaintracks/index.d.ts +3 -0
  189. package/out/src/services/chaintracker/chaintracks/index.d.ts.map +1 -0
  190. package/out/src/services/chaintracker/chaintracks/index.js +19 -0
  191. package/out/src/services/chaintracker/chaintracks/index.js.map +1 -0
  192. package/out/src/services/chaintracker/index.d.ts +3 -0
  193. package/out/src/services/chaintracker/index.d.ts.map +1 -0
  194. package/out/src/services/chaintracker/index.js +19 -0
  195. package/out/src/services/chaintracker/index.js.map +1 -0
  196. package/out/src/services/createDefaultWalletServicesOptions.d.ts +3 -0
  197. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -0
  198. package/out/src/services/createDefaultWalletServicesOptions.js +34 -0
  199. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -0
  200. package/out/src/services/index.d.ts +2 -0
  201. package/out/src/services/index.d.ts.map +1 -0
  202. package/out/src/services/index.js +18 -0
  203. package/out/src/services/index.js.map +1 -0
  204. package/out/src/services/providers/arcServices.d.ts +62 -0
  205. package/out/src/services/providers/arcServices.d.ts.map +1 -0
  206. package/out/src/services/providers/arcServices.js +368 -0
  207. package/out/src/services/providers/arcServices.js.map +1 -0
  208. package/out/src/services/providers/echangeRates.d.ts +12 -0
  209. package/out/src/services/providers/echangeRates.d.ts.map +1 -0
  210. package/out/src/services/providers/echangeRates.js +237 -0
  211. package/out/src/services/providers/echangeRates.js.map +1 -0
  212. package/out/src/services/providers/whatsonchain.d.ts +17 -0
  213. package/out/src/services/providers/whatsonchain.d.ts.map +1 -0
  214. package/out/src/services/providers/whatsonchain.js +130 -0
  215. package/out/src/services/providers/whatsonchain.js.map +1 -0
  216. package/out/src/signer/WalletSigner.d.ts +11 -0
  217. package/out/src/signer/WalletSigner.d.ts.map +1 -0
  218. package/out/src/signer/WalletSigner.js +13 -0
  219. package/out/src/signer/WalletSigner.js.map +1 -0
  220. package/out/src/signer/methods/acquireDirectCertificate.d.ts +4 -0
  221. package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -0
  222. package/out/src/signer/methods/acquireDirectCertificate.js +47 -0
  223. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -0
  224. package/out/src/signer/methods/createAction.d.ts +7 -0
  225. package/out/src/signer/methods/createAction.d.ts.map +1 -0
  226. package/out/src/signer/methods/createAction.js +250 -0
  227. package/out/src/signer/methods/createAction.js.map +1 -0
  228. package/out/src/signer/methods/internalizeAction.d.ts +31 -0
  229. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -0
  230. package/out/src/signer/methods/internalizeAction.js +95 -0
  231. package/out/src/signer/methods/internalizeAction.js.map +1 -0
  232. package/out/src/signer/methods/proveCertificate.d.ts +4 -0
  233. package/out/src/signer/methods/proveCertificate.d.ts.map +1 -0
  234. package/out/src/signer/methods/proveCertificate.js +45 -0
  235. package/out/src/signer/methods/proveCertificate.js.map +1 -0
  236. package/out/src/signer/methods/signAction.d.ts +6 -0
  237. package/out/src/signer/methods/signAction.d.ts.map +1 -0
  238. package/out/src/signer/methods/signAction.js +79 -0
  239. package/out/src/signer/methods/signAction.js.map +1 -0
  240. package/out/src/storage/StorageKnex.d.ts +176 -0
  241. package/out/src/storage/StorageKnex.d.ts.map +1 -0
  242. package/out/src/storage/StorageKnex.js +1035 -0
  243. package/out/src/storage/StorageKnex.js.map +1 -0
  244. package/out/src/storage/StorageProvider.d.ts +140 -0
  245. package/out/src/storage/StorageProvider.d.ts.map +1 -0
  246. package/out/src/storage/StorageProvider.js +539 -0
  247. package/out/src/storage/StorageProvider.js.map +1 -0
  248. package/out/src/storage/StorageReader.d.ts +76 -0
  249. package/out/src/storage/StorageReader.d.ts.map +1 -0
  250. package/out/src/storage/StorageReader.js +124 -0
  251. package/out/src/storage/StorageReader.js.map +1 -0
  252. package/out/src/storage/StorageReaderWriter.d.ts +87 -0
  253. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -0
  254. package/out/src/storage/StorageReaderWriter.js +337 -0
  255. package/out/src/storage/StorageReaderWriter.js.map +1 -0
  256. package/out/src/storage/StorageSyncReader.d.ts +33 -0
  257. package/out/src/storage/StorageSyncReader.d.ts.map +1 -0
  258. package/out/src/storage/StorageSyncReader.js +142 -0
  259. package/out/src/storage/StorageSyncReader.js.map +1 -0
  260. package/out/src/storage/WalletStorageManager.d.ts +103 -0
  261. package/out/src/storage/WalletStorageManager.d.ts.map +1 -0
  262. package/out/src/storage/WalletStorageManager.js +408 -0
  263. package/out/src/storage/WalletStorageManager.js.map +1 -0
  264. package/out/src/storage/__test/WalletStorageManager.test.d.ts +2 -0
  265. package/out/src/storage/__test/WalletStorageManager.test.d.ts.map +1 -0
  266. package/out/src/storage/__test/WalletStorageManager.test.js +260 -0
  267. package/out/src/storage/__test/WalletStorageManager.test.js.map +1 -0
  268. package/out/src/storage/index.all.d.ts +11 -0
  269. package/out/src/storage/index.all.d.ts.map +1 -0
  270. package/out/src/storage/index.all.js +50 -0
  271. package/out/src/storage/index.all.js.map +1 -0
  272. package/out/src/storage/index.client.d.ts +7 -0
  273. package/out/src/storage/index.client.d.ts.map +1 -0
  274. package/out/src/storage/index.client.js +46 -0
  275. package/out/src/storage/index.client.js.map +1 -0
  276. package/out/src/storage/index.db.d.ts +1 -0
  277. package/out/src/storage/index.db.d.ts.map +1 -0
  278. package/out/src/storage/index.db.js +2 -0
  279. package/out/src/storage/index.db.js.map +1 -0
  280. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.d.ts +2 -0
  281. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.d.ts.map +1 -0
  282. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js +948 -0
  283. package/out/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.js.map +1 -0
  284. package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.d.ts +2 -0
  285. package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.d.ts.map +1 -0
  286. package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.js +35 -0
  287. package/out/src/storage/methods/__test/GenerateChange/randomValsUsed1.js.map +1 -0
  288. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +27 -0
  289. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -0
  290. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +148 -0
  291. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -0
  292. package/out/src/storage/methods/createAction.d.ts +23 -0
  293. package/out/src/storage/methods/createAction.d.ts.map +1 -0
  294. package/out/src/storage/methods/createAction.js +663 -0
  295. package/out/src/storage/methods/createAction.js.map +1 -0
  296. package/out/src/storage/methods/generateChange.d.ts +108 -0
  297. package/out/src/storage/methods/generateChange.d.ts.map +1 -0
  298. package/out/src/storage/methods/generateChange.js +422 -0
  299. package/out/src/storage/methods/generateChange.js.map +1 -0
  300. package/out/src/storage/methods/getBeefForTransaction.d.ts +22 -0
  301. package/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -0
  302. package/out/src/storage/methods/getBeefForTransaction.js +94 -0
  303. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -0
  304. package/out/src/storage/methods/getSyncChunk.d.ts +10 -0
  305. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -0
  306. package/out/src/storage/methods/getSyncChunk.js +271 -0
  307. package/out/src/storage/methods/getSyncChunk.js.map +1 -0
  308. package/out/src/storage/methods/internalizeAction.d.ts +38 -0
  309. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -0
  310. package/out/src/storage/methods/internalizeAction.js +378 -0
  311. package/out/src/storage/methods/internalizeAction.js.map +1 -0
  312. package/out/src/storage/methods/listActions.d.ts +5 -0
  313. package/out/src/storage/methods/listActions.d.ts.map +1 -0
  314. package/out/src/storage/methods/listActions.js +174 -0
  315. package/out/src/storage/methods/listActions.js.map +1 -0
  316. package/out/src/storage/methods/listCertificates.d.ts +5 -0
  317. package/out/src/storage/methods/listCertificates.d.ts.map +1 -0
  318. package/out/src/storage/methods/listCertificates.js +68 -0
  319. package/out/src/storage/methods/listCertificates.js.map +1 -0
  320. package/out/src/storage/methods/listOutputs.d.ts +5 -0
  321. package/out/src/storage/methods/listOutputs.d.ts.map +1 -0
  322. package/out/src/storage/methods/listOutputs.js +189 -0
  323. package/out/src/storage/methods/listOutputs.js.map +1 -0
  324. package/out/src/storage/methods/processAction.d.ts +35 -0
  325. package/out/src/storage/methods/processAction.d.ts.map +1 -0
  326. package/out/src/storage/methods/processAction.js +271 -0
  327. package/out/src/storage/methods/processAction.js.map +1 -0
  328. package/out/src/storage/methods/purgeData.d.ts +4 -0
  329. package/out/src/storage/methods/purgeData.d.ts.map +1 -0
  330. package/out/src/storage/methods/purgeData.js +229 -0
  331. package/out/src/storage/methods/purgeData.js.map +1 -0
  332. package/out/src/storage/methods/reviewStatus.d.ts +9 -0
  333. package/out/src/storage/methods/reviewStatus.d.ts.map +1 -0
  334. package/out/src/storage/methods/reviewStatus.js +75 -0
  335. package/out/src/storage/methods/reviewStatus.js.map +1 -0
  336. package/out/src/storage/remoting/StorageClient.d.ts +56 -0
  337. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -0
  338. package/out/src/storage/remoting/StorageClient.js +181 -0
  339. package/out/src/storage/remoting/StorageClient.js.map +1 -0
  340. package/out/src/storage/remoting/StorageServer.d.ts +26 -0
  341. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -0
  342. package/out/src/storage/remoting/StorageServer.js +144 -0
  343. package/out/src/storage/remoting/StorageServer.js.map +1 -0
  344. package/out/src/storage/schema/KnexMigrations.d.ts +39 -0
  345. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -0
  346. package/out/src/storage/schema/KnexMigrations.js +442 -0
  347. package/out/src/storage/schema/KnexMigrations.js.map +1 -0
  348. package/out/src/storage/schema/entities/Certificate.d.ts +43 -0
  349. package/out/src/storage/schema/entities/Certificate.d.ts.map +1 -0
  350. package/out/src/storage/schema/entities/Certificate.js +162 -0
  351. package/out/src/storage/schema/entities/Certificate.js.map +1 -0
  352. package/out/src/storage/schema/entities/CertificateField.d.ts +32 -0
  353. package/out/src/storage/schema/entities/CertificateField.d.ts.map +1 -0
  354. package/out/src/storage/schema/entities/CertificateField.js +114 -0
  355. package/out/src/storage/schema/entities/CertificateField.js.map +1 -0
  356. package/out/src/storage/schema/entities/Commission.d.ts +37 -0
  357. package/out/src/storage/schema/entities/Commission.d.ts.map +1 -0
  358. package/out/src/storage/schema/entities/Commission.js +130 -0
  359. package/out/src/storage/schema/entities/Commission.js.map +1 -0
  360. package/out/src/storage/schema/entities/EntityBase.d.ts +105 -0
  361. package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -0
  362. package/out/src/storage/schema/entities/EntityBase.js +100 -0
  363. package/out/src/storage/schema/entities/EntityBase.js.map +1 -0
  364. package/out/src/storage/schema/entities/MergeEntity.d.ts +34 -0
  365. package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -0
  366. package/out/src/storage/schema/entities/MergeEntity.js +57 -0
  367. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -0
  368. package/out/src/storage/schema/entities/Output.d.ts +67 -0
  369. package/out/src/storage/schema/entities/Output.d.ts.map +1 -0
  370. package/out/src/storage/schema/entities/Output.js +281 -0
  371. package/out/src/storage/schema/entities/Output.js.map +1 -0
  372. package/out/src/storage/schema/entities/OutputBasket.d.ts +35 -0
  373. package/out/src/storage/schema/entities/OutputBasket.d.ts.map +1 -0
  374. package/out/src/storage/schema/entities/OutputBasket.js +133 -0
  375. package/out/src/storage/schema/entities/OutputBasket.js.map +1 -0
  376. package/out/src/storage/schema/entities/OutputTag.d.ts +31 -0
  377. package/out/src/storage/schema/entities/OutputTag.d.ts.map +1 -0
  378. package/out/src/storage/schema/entities/OutputTag.js +104 -0
  379. package/out/src/storage/schema/entities/OutputTag.js.map +1 -0
  380. package/out/src/storage/schema/entities/OutputTagMap.d.ts +28 -0
  381. package/out/src/storage/schema/entities/OutputTagMap.d.ts.map +1 -0
  382. package/out/src/storage/schema/entities/OutputTagMap.js +101 -0
  383. package/out/src/storage/schema/entities/OutputTagMap.js.map +1 -0
  384. package/out/src/storage/schema/entities/ProvenTx.d.ts +84 -0
  385. package/out/src/storage/schema/entities/ProvenTx.d.ts.map +1 -0
  386. package/out/src/storage/schema/entities/ProvenTx.js +283 -0
  387. package/out/src/storage/schema/entities/ProvenTx.js.map +1 -0
  388. package/out/src/storage/schema/entities/ProvenTxReq.d.ts +130 -0
  389. package/out/src/storage/schema/entities/ProvenTxReq.d.ts.map +1 -0
  390. package/out/src/storage/schema/entities/ProvenTxReq.js +521 -0
  391. package/out/src/storage/schema/entities/ProvenTxReq.js.map +1 -0
  392. package/out/src/storage/schema/entities/SyncState.d.ts +66 -0
  393. package/out/src/storage/schema/entities/SyncState.d.ts.map +1 -0
  394. package/out/src/storage/schema/entities/SyncState.js +284 -0
  395. package/out/src/storage/schema/entities/SyncState.js.map +1 -0
  396. package/out/src/storage/schema/entities/Transaction.d.ts +67 -0
  397. package/out/src/storage/schema/entities/Transaction.d.ts.map +1 -0
  398. package/out/src/storage/schema/entities/Transaction.js +264 -0
  399. package/out/src/storage/schema/entities/Transaction.js.map +1 -0
  400. package/out/src/storage/schema/entities/TxLabel.d.ts +31 -0
  401. package/out/src/storage/schema/entities/TxLabel.d.ts.map +1 -0
  402. package/out/src/storage/schema/entities/TxLabel.js +104 -0
  403. package/out/src/storage/schema/entities/TxLabel.js.map +1 -0
  404. package/out/src/storage/schema/entities/TxLabelMap.d.ts +28 -0
  405. package/out/src/storage/schema/entities/TxLabelMap.d.ts.map +1 -0
  406. package/out/src/storage/schema/entities/TxLabelMap.js +103 -0
  407. package/out/src/storage/schema/entities/TxLabelMap.js.map +1 -0
  408. package/out/src/storage/schema/entities/User.d.ts +29 -0
  409. package/out/src/storage/schema/entities/User.d.ts.map +1 -0
  410. package/out/src/storage/schema/entities/User.js +100 -0
  411. package/out/src/storage/schema/entities/User.js.map +1 -0
  412. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.d.ts +2 -0
  413. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.d.ts.map +1 -0
  414. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.js +588 -0
  415. package/out/src/storage/schema/entities/__tests/CertificateFieldTests.test.js.map +1 -0
  416. package/out/src/storage/schema/entities/__tests/CertificateTests.test.d.ts +2 -0
  417. package/out/src/storage/schema/entities/__tests/CertificateTests.test.d.ts.map +1 -0
  418. package/out/src/storage/schema/entities/__tests/CertificateTests.test.js +449 -0
  419. package/out/src/storage/schema/entities/__tests/CertificateTests.test.js.map +1 -0
  420. package/out/src/storage/schema/entities/__tests/CommissionTests.test.d.ts +2 -0
  421. package/out/src/storage/schema/entities/__tests/CommissionTests.test.d.ts.map +1 -0
  422. package/out/src/storage/schema/entities/__tests/CommissionTests.test.js +602 -0
  423. package/out/src/storage/schema/entities/__tests/CommissionTests.test.js.map +1 -0
  424. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.d.ts +2 -0
  425. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.d.ts.map +1 -0
  426. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.js +515 -0
  427. package/out/src/storage/schema/entities/__tests/OutputBasketTests.test.js.map +1 -0
  428. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.d.ts +2 -0
  429. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.d.ts.map +1 -0
  430. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.js +478 -0
  431. package/out/src/storage/schema/entities/__tests/OutputTagMapTests.test.js.map +1 -0
  432. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.d.ts +2 -0
  433. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.d.ts.map +1 -0
  434. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.js +440 -0
  435. package/out/src/storage/schema/entities/__tests/OutputTagTests.test.js.map +1 -0
  436. package/out/src/storage/schema/entities/__tests/OutputTests.test.d.ts +2 -0
  437. package/out/src/storage/schema/entities/__tests/OutputTests.test.d.ts.map +1 -0
  438. package/out/src/storage/schema/entities/__tests/OutputTests.test.js +626 -0
  439. package/out/src/storage/schema/entities/__tests/OutputTests.test.js.map +1 -0
  440. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.d.ts +2 -0
  441. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.d.ts.map +1 -0
  442. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.js +585 -0
  443. package/out/src/storage/schema/entities/__tests/ProvenTxReqTests.test.js.map +1 -0
  444. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.d.ts +2 -0
  445. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.d.ts.map +1 -0
  446. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js +628 -0
  447. package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js.map +1 -0
  448. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.d.ts +2 -0
  449. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.d.ts.map +1 -0
  450. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.js +307 -0
  451. package/out/src/storage/schema/entities/__tests/SyncStateTests.test.js.map +1 -0
  452. package/out/src/storage/schema/entities/__tests/TransactionTests.test.d.ts +2 -0
  453. package/out/src/storage/schema/entities/__tests/TransactionTests.test.d.ts.map +1 -0
  454. package/out/src/storage/schema/entities/__tests/TransactionTests.test.js +823 -0
  455. package/out/src/storage/schema/entities/__tests/TransactionTests.test.js.map +1 -0
  456. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.d.ts +2 -0
  457. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.d.ts.map +1 -0
  458. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.js +442 -0
  459. package/out/src/storage/schema/entities/__tests/TxLabelMapTests.test.js.map +1 -0
  460. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.d.ts +2 -0
  461. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.d.ts.map +1 -0
  462. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.js +313 -0
  463. package/out/src/storage/schema/entities/__tests/TxLabelTests.test.js.map +1 -0
  464. package/out/src/storage/schema/entities/__tests/stampLogTests.test.d.ts +2 -0
  465. package/out/src/storage/schema/entities/__tests/stampLogTests.test.d.ts.map +1 -0
  466. package/out/src/storage/schema/entities/__tests/stampLogTests.test.js +81 -0
  467. package/out/src/storage/schema/entities/__tests/stampLogTests.test.js.map +1 -0
  468. package/out/src/storage/schema/entities/__tests/usersTests.test.d.ts +2 -0
  469. package/out/src/storage/schema/entities/__tests/usersTests.test.d.ts.map +1 -0
  470. package/out/src/storage/schema/entities/__tests/usersTests.test.js +418 -0
  471. package/out/src/storage/schema/entities/__tests/usersTests.test.js.map +1 -0
  472. package/out/src/storage/schema/entities/index.d.ts +17 -0
  473. package/out/src/storage/schema/entities/index.d.ts.map +1 -0
  474. package/out/src/storage/schema/entities/index.js +33 -0
  475. package/out/src/storage/schema/entities/index.js.map +1 -0
  476. package/out/src/storage/schema/tables/Certificate.d.ts +20 -0
  477. package/out/src/storage/schema/tables/Certificate.d.ts.map +1 -0
  478. package/out/src/storage/schema/tables/Certificate.js +3 -0
  479. package/out/src/storage/schema/tables/Certificate.js.map +1 -0
  480. package/out/src/storage/schema/tables/CertificateField.d.ts +12 -0
  481. package/out/src/storage/schema/tables/CertificateField.d.ts.map +1 -0
  482. package/out/src/storage/schema/tables/CertificateField.js +3 -0
  483. package/out/src/storage/schema/tables/CertificateField.js.map +1 -0
  484. package/out/src/storage/schema/tables/Commission.d.ts +13 -0
  485. package/out/src/storage/schema/tables/Commission.d.ts.map +1 -0
  486. package/out/src/storage/schema/tables/Commission.js +3 -0
  487. package/out/src/storage/schema/tables/Commission.js.map +1 -0
  488. package/out/src/storage/schema/tables/MonitorEvent.d.ts +9 -0
  489. package/out/src/storage/schema/tables/MonitorEvent.d.ts.map +1 -0
  490. package/out/src/storage/schema/tables/MonitorEvent.js +3 -0
  491. package/out/src/storage/schema/tables/MonitorEvent.js.map +1 -0
  492. package/out/src/storage/schema/tables/Output.d.ts +36 -0
  493. package/out/src/storage/schema/tables/Output.d.ts.map +1 -0
  494. package/out/src/storage/schema/tables/Output.js +31 -0
  495. package/out/src/storage/schema/tables/Output.js.map +1 -0
  496. package/out/src/storage/schema/tables/OutputBasket.d.ts +12 -0
  497. package/out/src/storage/schema/tables/OutputBasket.d.ts.map +1 -0
  498. package/out/src/storage/schema/tables/OutputBasket.js +3 -0
  499. package/out/src/storage/schema/tables/OutputBasket.js.map +1 -0
  500. package/out/src/storage/schema/tables/OutputTag.d.ts +10 -0
  501. package/out/src/storage/schema/tables/OutputTag.d.ts.map +1 -0
  502. package/out/src/storage/schema/tables/OutputTag.js +3 -0
  503. package/out/src/storage/schema/tables/OutputTag.js.map +1 -0
  504. package/out/src/storage/schema/tables/OutputTagMap.d.ts +9 -0
  505. package/out/src/storage/schema/tables/OutputTagMap.d.ts.map +1 -0
  506. package/out/src/storage/schema/tables/OutputTagMap.js +3 -0
  507. package/out/src/storage/schema/tables/OutputTagMap.js.map +1 -0
  508. package/out/src/storage/schema/tables/ProvenTx.d.ts +14 -0
  509. package/out/src/storage/schema/tables/ProvenTx.d.ts.map +1 -0
  510. package/out/src/storage/schema/tables/ProvenTx.js +3 -0
  511. package/out/src/storage/schema/tables/ProvenTx.js.map +1 -0
  512. package/out/src/storage/schema/tables/ProvenTxReq.d.ts +64 -0
  513. package/out/src/storage/schema/tables/ProvenTxReq.d.ts.map +1 -0
  514. package/out/src/storage/schema/tables/ProvenTxReq.js +3 -0
  515. package/out/src/storage/schema/tables/ProvenTxReq.js.map +1 -0
  516. package/out/src/storage/schema/tables/Settings.d.ts +17 -0
  517. package/out/src/storage/schema/tables/Settings.d.ts.map +1 -0
  518. package/out/src/storage/schema/tables/Settings.js +3 -0
  519. package/out/src/storage/schema/tables/Settings.js.map +1 -0
  520. package/out/src/storage/schema/tables/SyncState.d.ts +18 -0
  521. package/out/src/storage/schema/tables/SyncState.d.ts.map +1 -0
  522. package/out/src/storage/schema/tables/SyncState.js +3 -0
  523. package/out/src/storage/schema/tables/SyncState.js.map +1 -0
  524. package/out/src/storage/schema/tables/Transaction.d.ts +37 -0
  525. package/out/src/storage/schema/tables/Transaction.d.ts.map +1 -0
  526. package/out/src/storage/schema/tables/Transaction.js +21 -0
  527. package/out/src/storage/schema/tables/Transaction.js.map +1 -0
  528. package/out/src/storage/schema/tables/TxLabel.d.ts +10 -0
  529. package/out/src/storage/schema/tables/TxLabel.d.ts.map +1 -0
  530. package/out/src/storage/schema/tables/TxLabel.js +3 -0
  531. package/out/src/storage/schema/tables/TxLabel.js.map +1 -0
  532. package/out/src/storage/schema/tables/TxLabelMap.d.ts +9 -0
  533. package/out/src/storage/schema/tables/TxLabelMap.d.ts.map +1 -0
  534. package/out/src/storage/schema/tables/TxLabelMap.js +3 -0
  535. package/out/src/storage/schema/tables/TxLabelMap.js.map +1 -0
  536. package/out/src/storage/schema/tables/User.d.ts +16 -0
  537. package/out/src/storage/schema/tables/User.d.ts.map +1 -0
  538. package/out/src/storage/schema/tables/User.js +3 -0
  539. package/out/src/storage/schema/tables/User.js.map +1 -0
  540. package/out/src/storage/schema/tables/index.d.ts +17 -0
  541. package/out/src/storage/schema/tables/index.d.ts.map +1 -0
  542. package/out/src/storage/schema/tables/index.js +33 -0
  543. package/out/src/storage/schema/tables/index.js.map +1 -0
  544. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts +71 -0
  545. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -0
  546. package/out/src/storage/sync/StorageMySQLDojoReader.js +612 -0
  547. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -0
  548. package/out/src/storage/sync/index.d.ts +2 -0
  549. package/out/src/storage/sync/index.d.ts.map +1 -0
  550. package/out/src/storage/sync/index.js +18 -0
  551. package/out/src/storage/sync/index.js.map +1 -0
  552. package/out/src/utility/ScriptTemplateSABPPP.d.ts +25 -0
  553. package/out/src/utility/ScriptTemplateSABPPP.d.ts.map +1 -0
  554. package/out/src/utility/ScriptTemplateSABPPP.js +46 -0
  555. package/out/src/utility/ScriptTemplateSABPPP.js.map +1 -0
  556. package/out/src/utility/index.all.d.ts +7 -0
  557. package/out/src/utility/index.all.d.ts.map +1 -0
  558. package/out/src/utility/index.all.js +23 -0
  559. package/out/src/utility/index.all.js.map +1 -0
  560. package/out/src/utility/index.client.d.ts +7 -0
  561. package/out/src/utility/index.client.d.ts.map +1 -0
  562. package/out/src/utility/index.client.js +23 -0
  563. package/out/src/utility/index.client.js.map +1 -0
  564. package/out/src/utility/parseTxScriptOffsets.d.ts +14 -0
  565. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -0
  566. package/out/src/utility/parseTxScriptOffsets.js +26 -0
  567. package/out/src/utility/parseTxScriptOffsets.js.map +1 -0
  568. package/out/src/utility/stampLog.d.ts +18 -0
  569. package/out/src/utility/stampLog.d.ts.map +1 -0
  570. package/out/src/utility/stampLog.js +72 -0
  571. package/out/src/utility/stampLog.js.map +1 -0
  572. package/out/src/utility/tscProofToMerklePath.d.ts +8 -0
  573. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -0
  574. package/out/src/utility/tscProofToMerklePath.js +41 -0
  575. package/out/src/utility/tscProofToMerklePath.js.map +1 -0
  576. package/out/src/utility/utilityHelpers.buffer.d.ts +18 -0
  577. package/out/src/utility/utilityHelpers.buffer.d.ts.map +1 -0
  578. package/out/src/utility/utilityHelpers.buffer.js +45 -0
  579. package/out/src/utility/utilityHelpers.buffer.js.map +1 -0
  580. package/out/src/utility/utilityHelpers.d.ts +129 -0
  581. package/out/src/utility/utilityHelpers.d.ts.map +1 -0
  582. package/out/src/utility/utilityHelpers.js +268 -0
  583. package/out/src/utility/utilityHelpers.js.map +1 -0
  584. package/out/src/utility/utilityHelpers.noBuffer.d.ts +9 -0
  585. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -0
  586. package/out/src/utility/utilityHelpers.noBuffer.js +23 -0
  587. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -0
  588. package/out/test/Wallet/StorageClient/storageClient.man.test.d.ts +2 -0
  589. package/out/test/Wallet/StorageClient/storageClient.man.test.d.ts.map +1 -0
  590. package/out/test/Wallet/StorageClient/storageClient.man.test.js +45 -0
  591. package/out/test/Wallet/StorageClient/storageClient.man.test.js.map +1 -0
  592. package/out/test/Wallet/action/internalizeAction.a.test.d.ts +2 -0
  593. package/out/test/Wallet/action/internalizeAction.a.test.d.ts.map +1 -0
  594. package/out/test/Wallet/action/internalizeAction.a.test.js +243 -0
  595. package/out/test/Wallet/action/internalizeAction.a.test.js.map +1 -0
  596. package/out/test/Wallet/certificate/acquireCertificate.test.d.ts +2 -0
  597. package/out/test/Wallet/certificate/acquireCertificate.test.d.ts.map +1 -0
  598. package/out/test/Wallet/certificate/acquireCertificate.test.js +213 -0
  599. package/out/test/Wallet/certificate/acquireCertificate.test.js.map +1 -0
  600. package/out/test/Wallet/certificate/listCertificates.test.d.ts +2 -0
  601. package/out/test/Wallet/certificate/listCertificates.test.d.ts.map +1 -0
  602. package/out/test/Wallet/certificate/listCertificates.test.js +305 -0
  603. package/out/test/Wallet/certificate/listCertificates.test.js.map +1 -0
  604. package/out/test/Wallet/get/getHeaderForHeight.test.d.ts +2 -0
  605. package/out/test/Wallet/get/getHeaderForHeight.test.d.ts.map +1 -0
  606. package/out/test/Wallet/get/getHeaderForHeight.test.js +68 -0
  607. package/out/test/Wallet/get/getHeaderForHeight.test.js.map +1 -0
  608. package/out/test/Wallet/get/getHeight.test.d.ts +2 -0
  609. package/out/test/Wallet/get/getHeight.test.d.ts.map +1 -0
  610. package/out/test/Wallet/get/getHeight.test.js +45 -0
  611. package/out/test/Wallet/get/getHeight.test.js.map +1 -0
  612. package/out/test/Wallet/get/getKnownTxids.test.d.ts +2 -0
  613. package/out/test/Wallet/get/getKnownTxids.test.d.ts.map +1 -0
  614. package/out/test/Wallet/get/getKnownTxids.test.js +73 -0
  615. package/out/test/Wallet/get/getKnownTxids.test.js.map +1 -0
  616. package/out/test/Wallet/get/getNetwork.test.d.ts +2 -0
  617. package/out/test/Wallet/get/getNetwork.test.d.ts.map +1 -0
  618. package/out/test/Wallet/get/getNetwork.test.js +26 -0
  619. package/out/test/Wallet/get/getNetwork.test.js.map +1 -0
  620. package/out/test/Wallet/get/getVersion.test.d.ts +2 -0
  621. package/out/test/Wallet/get/getVersion.test.d.ts.map +1 -0
  622. package/out/test/Wallet/get/getVersion.test.js +25 -0
  623. package/out/test/Wallet/get/getVersion.test.js.map +1 -0
  624. package/out/test/Wallet/live/walletLive.man.test.d.ts +26 -0
  625. package/out/test/Wallet/live/walletLive.man.test.d.ts.map +1 -0
  626. package/out/test/Wallet/live/walletLive.man.test.js +389 -0
  627. package/out/test/Wallet/live/walletLive.man.test.js.map +1 -0
  628. package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.d.ts +2 -0
  629. package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.d.ts.map +1 -0
  630. package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.js +153 -0
  631. package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.js.map +1 -0
  632. package/out/test/checkDB.d.ts +4 -0
  633. package/out/test/checkDB.d.ts.map +1 -0
  634. package/out/test/checkDB.js +55 -0
  635. package/out/test/checkDB.js.map +1 -0
  636. package/out/test/examples/README.man.test.d.ts +2 -0
  637. package/out/test/examples/README.man.test.d.ts.map +1 -0
  638. package/out/test/examples/README.man.test.js +46 -0
  639. package/out/test/examples/README.man.test.js.map +1 -0
  640. package/out/test/monitor/Monitor.test.d.ts +2 -0
  641. package/out/test/monitor/Monitor.test.d.ts.map +1 -0
  642. package/out/test/monitor/Monitor.test.js +446 -0
  643. package/out/test/monitor/Monitor.test.js.map +1 -0
  644. package/out/test/services/Services.test.d.ts +2 -0
  645. package/out/test/services/Services.test.d.ts.map +1 -0
  646. package/out/test/services/Services.test.js +128 -0
  647. package/out/test/services/Services.test.js.map +1 -0
  648. package/out/test/storage/KnexMigrations.test.d.ts +2 -0
  649. package/out/test/storage/KnexMigrations.test.d.ts.map +1 -0
  650. package/out/test/storage/KnexMigrations.test.js +81 -0
  651. package/out/test/storage/KnexMigrations.test.js.map +1 -0
  652. package/out/test/storage/StorageMySQLDojoReader.man.test.d.ts +2 -0
  653. package/out/test/storage/StorageMySQLDojoReader.man.test.d.ts.map +1 -0
  654. package/out/test/storage/StorageMySQLDojoReader.man.test.js +88 -0
  655. package/out/test/storage/StorageMySQLDojoReader.man.test.js.map +1 -0
  656. package/out/test/storage/count.test.d.ts +2 -0
  657. package/out/test/storage/count.test.d.ts.map +1 -0
  658. package/out/test/storage/count.test.js +141 -0
  659. package/out/test/storage/count.test.js.map +1 -0
  660. package/out/test/storage/find.test.d.ts +2 -0
  661. package/out/test/storage/find.test.d.ts.map +1 -0
  662. package/out/test/storage/find.test.js +148 -0
  663. package/out/test/storage/find.test.js.map +1 -0
  664. package/out/test/storage/findLegacy.test.d.ts +2 -0
  665. package/out/test/storage/findLegacy.test.d.ts.map +1 -0
  666. package/out/test/storage/findLegacy.test.js +52 -0
  667. package/out/test/storage/findLegacy.test.js.map +1 -0
  668. package/out/test/storage/insert.test.d.ts +2 -0
  669. package/out/test/storage/insert.test.d.ts.map +1 -0
  670. package/out/test/storage/insert.test.js +256 -0
  671. package/out/test/storage/insert.test.js.map +1 -0
  672. package/out/test/storage/update.test.d.ts +2 -0
  673. package/out/test/storage/update.test.d.ts.map +1 -0
  674. package/out/test/storage/update.test.js +926 -0
  675. package/out/test/storage/update.test.js.map +1 -0
  676. package/out/test/storage/update2.test.d.ts +2 -0
  677. package/out/test/storage/update2.test.d.ts.map +1 -0
  678. package/out/test/storage/update2.test.js +766 -0
  679. package/out/test/storage/update2.test.js.map +1 -0
  680. package/out/test/utils/TestUtilsWalletStorage.d.ts +399 -0
  681. package/out/test/utils/TestUtilsWalletStorage.d.ts.map +1 -0
  682. package/out/test/utils/TestUtilsWalletStorage.js +1337 -0
  683. package/out/test/utils/TestUtilsWalletStorage.js.map +1 -0
  684. package/out/test/wallet/action/abortAction.test.d.ts +2 -0
  685. package/out/test/wallet/action/abortAction.test.d.ts.map +1 -0
  686. package/out/test/wallet/action/abortAction.test.js +44 -0
  687. package/out/test/wallet/action/abortAction.test.js.map +1 -0
  688. package/out/test/wallet/action/createAction.test.d.ts +2 -0
  689. package/out/test/wallet/action/createAction.test.d.ts.map +1 -0
  690. package/out/test/wallet/action/createAction.test.js +230 -0
  691. package/out/test/wallet/action/createAction.test.js.map +1 -0
  692. package/out/test/wallet/action/createActionToGenerateBeefs.man.test.d.ts +2 -0
  693. package/out/test/wallet/action/createActionToGenerateBeefs.man.test.d.ts.map +1 -0
  694. package/out/test/wallet/action/createActionToGenerateBeefs.man.test.js +273 -0
  695. package/out/test/wallet/action/createActionToGenerateBeefs.man.test.js.map +1 -0
  696. package/out/test/wallet/action/internalizeAction.test.d.ts +2 -0
  697. package/out/test/wallet/action/internalizeAction.test.d.ts.map +1 -0
  698. package/out/test/wallet/action/internalizeAction.test.js +603 -0
  699. package/out/test/wallet/action/internalizeAction.test.js.map +1 -0
  700. package/out/test/wallet/action/relinquishOutput.test.d.ts +2 -0
  701. package/out/test/wallet/action/relinquishOutput.test.d.ts.map +1 -0
  702. package/out/test/wallet/action/relinquishOutput.test.js +31 -0
  703. package/out/test/wallet/action/relinquishOutput.test.js.map +1 -0
  704. package/out/test/wallet/construct/Wallet.constructor.test.d.ts +2 -0
  705. package/out/test/wallet/construct/Wallet.constructor.test.d.ts.map +1 -0
  706. package/out/test/wallet/construct/Wallet.constructor.test.js +49 -0
  707. package/out/test/wallet/construct/Wallet.constructor.test.js.map +1 -0
  708. package/out/test/wallet/list/listActions.test.d.ts +2 -0
  709. package/out/test/wallet/list/listActions.test.d.ts.map +1 -0
  710. package/out/test/wallet/list/listActions.test.js +265 -0
  711. package/out/test/wallet/list/listActions.test.js.map +1 -0
  712. package/out/test/wallet/list/listActions2.test.d.ts +2 -0
  713. package/out/test/wallet/list/listActions2.test.d.ts.map +1 -0
  714. package/out/test/wallet/list/listActions2.test.js +423 -0
  715. package/out/test/wallet/list/listActions2.test.js.map +1 -0
  716. package/out/test/wallet/list/listCertificates.test.d.ts +2 -0
  717. package/out/test/wallet/list/listCertificates.test.d.ts.map +1 -0
  718. package/out/test/wallet/list/listCertificates.test.js +115 -0
  719. package/out/test/wallet/list/listCertificates.test.js.map +1 -0
  720. package/out/test/wallet/list/listOutputs.test.d.ts +2 -0
  721. package/out/test/wallet/list/listOutputs.test.d.ts.map +1 -0
  722. package/out/test/wallet/list/listOutputs.test.js +521 -0
  723. package/out/test/wallet/list/listOutputs.test.js.map +1 -0
  724. package/out/test/wallet/sync/Wallet.sync.test.d.ts +2 -0
  725. package/out/test/wallet/sync/Wallet.sync.test.d.ts.map +1 -0
  726. package/out/test/wallet/sync/Wallet.sync.test.js +142 -0
  727. package/out/test/wallet/sync/Wallet.sync.test.js.map +1 -0
  728. package/out/tsconfig.all.tsbuildinfo +1 -0
  729. package/package.json +63 -0
  730. package/src/Wallet.ts +771 -0
  731. package/src/index.all.ts +8 -0
  732. package/src/index.client.ts +7 -0
  733. package/src/index.ts +2 -0
  734. package/src/monitor/Monitor.ts +317 -0
  735. package/src/monitor/MonitorDaemon.ts +197 -0
  736. package/src/monitor/README.md +3 -0
  737. package/src/monitor/__test/MonitorDaemon.man.test.ts +17 -0
  738. package/src/monitor/tasks/TaskCheckForProofs.ts +235 -0
  739. package/src/monitor/tasks/TaskClock.ts +35 -0
  740. package/src/monitor/tasks/TaskFailAbandoned.ts +56 -0
  741. package/src/monitor/tasks/TaskNewHeader.ts +48 -0
  742. package/src/monitor/tasks/TaskPurge.ts +69 -0
  743. package/src/monitor/tasks/TaskReviewStatus.ts +51 -0
  744. package/src/monitor/tasks/TaskSendWaiting.ts +107 -0
  745. package/src/monitor/tasks/TaskSyncWhenIdle.ts +26 -0
  746. package/src/monitor/tasks/WalletMonitorTask.ts +47 -0
  747. package/src/sdk/CertOps.ts +346 -0
  748. package/src/sdk/PrivilegedKeyManager.ts +402 -0
  749. package/src/sdk/README.md +13 -0
  750. package/src/sdk/StorageSyncReader.ts +155 -0
  751. package/src/sdk/StorageSyncReaderWriter.ts +263 -0
  752. package/src/sdk/WERR_errors.ts +152 -0
  753. package/src/sdk/WalletError.ts +136 -0
  754. package/src/sdk/WalletServices.interfaces.ts +399 -0
  755. package/src/sdk/WalletSigner.interfaces.ts +38 -0
  756. package/src/sdk/WalletStorage.interfaces.ts +416 -0
  757. package/src/sdk/__test/CertificateLifeCycle.test.ts +194 -0
  758. package/src/sdk/__test/PrivilegedKeyManager.test.ts +775 -0
  759. package/src/sdk/index.ts +11 -0
  760. package/src/sdk/types.ts +115 -0
  761. package/src/sdk/validationHelpers.ts +1248 -0
  762. package/src/services/README.md +11 -0
  763. package/src/services/ServiceCollection.ts +50 -0
  764. package/src/services/Services.ts +461 -0
  765. package/src/services/__tests/getMerklePath.test.ts +16 -0
  766. package/src/services/__tests/getRawTx.test.ts +15 -0
  767. package/src/services/__tests/postBeef.test.ts +19 -0
  768. package/src/services/__tests/postBeefToArcTaal.test.ts +487 -0
  769. package/src/services/__tests/postTxs.test.ts +20 -0
  770. package/src/services/chaintracker/ChaintracksChainTracker.ts +78 -0
  771. package/src/services/chaintracker/__tests/ChaintracksChainTracker.test.ts +25 -0
  772. package/src/services/chaintracker/__tests/ChaintracksServiceClient.test.ts +32 -0
  773. package/src/services/chaintracker/chaintracks/BlockHeaderApi.ts +123 -0
  774. package/src/services/chaintracker/chaintracks/ChaintracksServiceClient.ts +160 -0
  775. package/src/services/chaintracker/chaintracks/index.ts +2 -0
  776. package/src/services/chaintracker/index.ts +2 -0
  777. package/src/services/createDefaultWalletServicesOptions.ts +38 -0
  778. package/src/services/index.ts +1 -0
  779. package/src/services/providers/arcServices.ts +570 -0
  780. package/src/services/providers/echangeRates.ts +276 -0
  781. package/src/services/providers/whatsonchain.ts +170 -0
  782. package/src/signer/README.md +5 -0
  783. package/src/signer/WalletSigner.ts +21 -0
  784. package/src/signer/methods/acquireDirectCertificate.ts +53 -0
  785. package/src/signer/methods/createAction.ts +364 -0
  786. package/src/signer/methods/internalizeAction.ts +142 -0
  787. package/src/signer/methods/proveCertificate.ts +51 -0
  788. package/src/signer/methods/signAction.ts +121 -0
  789. package/src/storage/README.md +14 -0
  790. package/src/storage/StorageKnex.ts +1449 -0
  791. package/src/storage/StorageProvider.ts +853 -0
  792. package/src/storage/StorageReader.ts +222 -0
  793. package/src/storage/StorageReaderWriter.ts +623 -0
  794. package/src/storage/StorageSyncReader.ts +143 -0
  795. package/src/storage/WalletStorageManager.ts +532 -0
  796. package/src/storage/__test/WalletStorageManager.test.ts +292 -0
  797. package/src/storage/index.all.ts +10 -0
  798. package/src/storage/index.client.ts +6 -0
  799. package/src/storage/index.db.ts +0 -0
  800. package/src/storage/methods/__test/GenerateChange/generateChangeSdk.test.ts +1143 -0
  801. package/src/storage/methods/__test/GenerateChange/randomValsUsed1.ts +31 -0
  802. package/src/storage/methods/attemptToPostReqsToNetwork.ts +185 -0
  803. package/src/storage/methods/createAction.ts +997 -0
  804. package/src/storage/methods/generateChange.ts +629 -0
  805. package/src/storage/methods/getBeefForTransaction.ts +143 -0
  806. package/src/storage/methods/getSyncChunk.ts +330 -0
  807. package/src/storage/methods/internalizeAction.ts +538 -0
  808. package/src/storage/methods/listActions.ts +203 -0
  809. package/src/storage/methods/listCertificates.ts +81 -0
  810. package/src/storage/methods/listOutputs.ts +219 -0
  811. package/src/storage/methods/processAction.ts +477 -0
  812. package/src/storage/methods/purgeData.ts +276 -0
  813. package/src/storage/methods/reviewStatus.ts +95 -0
  814. package/src/storage/remoting/StorageClient.ts +306 -0
  815. package/src/storage/remoting/StorageServer.ts +179 -0
  816. package/src/storage/schema/KnexMigrations.ts +488 -0
  817. package/src/storage/schema/entities/Certificate.ts +199 -0
  818. package/src/storage/schema/entities/CertificateField.ts +157 -0
  819. package/src/storage/schema/entities/Commission.ts +169 -0
  820. package/src/storage/schema/entities/EntityBase.ts +214 -0
  821. package/src/storage/schema/entities/MergeEntity.ts +79 -0
  822. package/src/storage/schema/entities/Output.ts +323 -0
  823. package/src/storage/schema/entities/OutputBasket.ts +165 -0
  824. package/src/storage/schema/entities/OutputTag.ts +138 -0
  825. package/src/storage/schema/entities/OutputTagMap.ts +146 -0
  826. package/src/storage/schema/entities/ProvenTx.ts +349 -0
  827. package/src/storage/schema/entities/ProvenTxReq.ts +646 -0
  828. package/src/storage/schema/entities/SyncState.ts +429 -0
  829. package/src/storage/schema/entities/Transaction.ts +334 -0
  830. package/src/storage/schema/entities/TxLabel.ts +135 -0
  831. package/src/storage/schema/entities/TxLabelMap.ts +148 -0
  832. package/src/storage/schema/entities/User.ts +138 -0
  833. package/src/storage/schema/entities/__tests/CertificateFieldTests.test.ts +663 -0
  834. package/src/storage/schema/entities/__tests/CertificateTests.test.ts +527 -0
  835. package/src/storage/schema/entities/__tests/CommissionTests.test.ts +658 -0
  836. package/src/storage/schema/entities/__tests/OutputBasketTests.test.ts +567 -0
  837. package/src/storage/schema/entities/__tests/OutputTagMapTests.test.ts +530 -0
  838. package/src/storage/schema/entities/__tests/OutputTagTests.test.ts +504 -0
  839. package/src/storage/schema/entities/__tests/OutputTests.test.ts +689 -0
  840. package/src/storage/schema/entities/__tests/ProvenTxReqTests.test.ts +669 -0
  841. package/src/storage/schema/entities/__tests/ProvenTxTests.test.ts +700 -0
  842. package/src/storage/schema/entities/__tests/SyncStateTests.test.ts +376 -0
  843. package/src/storage/schema/entities/__tests/TransactionTests.test.ts +920 -0
  844. package/src/storage/schema/entities/__tests/TxLabelMapTests.test.ts +512 -0
  845. package/src/storage/schema/entities/__tests/TxLabelTests.test.ts +350 -0
  846. package/src/storage/schema/entities/__tests/stampLogTests.test.ts +97 -0
  847. package/src/storage/schema/entities/__tests/usersTests.test.ts +485 -0
  848. package/src/storage/schema/entities/index.ts +16 -0
  849. package/src/storage/schema/tables/Certificate.ts +21 -0
  850. package/src/storage/schema/tables/CertificateField.ts +12 -0
  851. package/src/storage/schema/tables/Commission.ts +13 -0
  852. package/src/storage/schema/tables/MonitorEvent.ts +9 -0
  853. package/src/storage/schema/tables/Output.ts +64 -0
  854. package/src/storage/schema/tables/OutputBasket.ts +12 -0
  855. package/src/storage/schema/tables/OutputTag.ts +10 -0
  856. package/src/storage/schema/tables/OutputTagMap.ts +9 -0
  857. package/src/storage/schema/tables/ProvenTx.ts +14 -0
  858. package/src/storage/schema/tables/ProvenTxReq.ts +65 -0
  859. package/src/storage/schema/tables/Settings.ts +17 -0
  860. package/src/storage/schema/tables/SyncState.ts +18 -0
  861. package/src/storage/schema/tables/Transaction.ts +54 -0
  862. package/src/storage/schema/tables/TxLabel.ts +10 -0
  863. package/src/storage/schema/tables/TxLabelMap.ts +9 -0
  864. package/src/storage/schema/tables/User.ts +16 -0
  865. package/src/storage/schema/tables/index.ts +16 -0
  866. package/src/storage/sync/StorageMySQLDojoReader.ts +771 -0
  867. package/src/storage/sync/index.ts +1 -0
  868. package/src/utility/README.md +3 -0
  869. package/src/utility/ScriptTemplateSABPPP.ts +79 -0
  870. package/src/utility/index.all.ts +7 -0
  871. package/src/utility/index.client.ts +7 -0
  872. package/src/utility/parseTxScriptOffsets.ts +29 -0
  873. package/src/utility/stampLog.ts +73 -0
  874. package/src/utility/tscProofToMerklePath.ts +51 -0
  875. package/src/utility/utilityHelpers.buffer.ts +43 -0
  876. package/src/utility/utilityHelpers.noBuffer.ts +18 -0
  877. package/src/utility/utilityHelpers.ts +283 -0
  878. package/test/Wallet/StorageClient/storageClient.man.test.ts +55 -0
  879. package/test/Wallet/action/internalizeAction.a.test.ts +301 -0
  880. package/test/Wallet/certificate/acquireCertificate.test.ts +253 -0
  881. package/test/Wallet/certificate/listCertificates.test.ts +352 -0
  882. package/test/Wallet/get/getHeaderForHeight.test.ts +79 -0
  883. package/test/Wallet/get/getHeight.test.ts +52 -0
  884. package/test/Wallet/get/getKnownTxids.test.ts +90 -0
  885. package/test/Wallet/get/getNetwork.test.ts +28 -0
  886. package/test/Wallet/get/getVersion.test.ts +28 -0
  887. package/test/Wallet/live/walletLive.man.test.ts +510 -0
  888. package/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.ts +155 -0
  889. package/test/checkDB.ts +63 -0
  890. package/test/checkdb +0 -0
  891. package/test/examples/README.man.test.ts +53 -0
  892. package/test/monitor/Monitor.test.ts +536 -0
  893. package/test/services/Services.test.ts +149 -0
  894. package/test/storage/KnexMigrations.test.ts +100 -0
  895. package/test/storage/StorageMySQLDojoReader.man.test.ts +71 -0
  896. package/test/storage/count.test.ts +193 -0
  897. package/test/storage/find.test.ts +216 -0
  898. package/test/storage/findLegacy.test.ts +70 -0
  899. package/test/storage/insert.test.ts +294 -0
  900. package/test/storage/update.test.ts +1146 -0
  901. package/test/storage/update2.test.ts +1017 -0
  902. package/test/utils/TestUtilsWalletStorage.ts +1923 -0
  903. package/test/utils/removeFailedFromDatabase.sql +17 -0
  904. package/test/wallet/action/abortAction.test.ts +55 -0
  905. package/test/wallet/action/createAction.test.ts +266 -0
  906. package/test/wallet/action/createActionToGenerateBeefs.man.test.ts +297 -0
  907. package/test/wallet/action/internalizeAction.test.ts +729 -0
  908. package/test/wallet/action/relinquishOutput.test.ts +43 -0
  909. package/test/wallet/construct/Wallet.constructor.test.ts +57 -0
  910. package/test/wallet/list/listActions.test.ts +282 -0
  911. package/test/wallet/list/listActions2.test.ts +570 -0
  912. package/test/wallet/list/listCertificates.test.ts +129 -0
  913. package/test/wallet/list/listOutputs.test.ts +573 -0
  914. package/test/wallet/sync/Wallet.sync.test.ts +226 -0
  915. package/ts2md.json +32 -0
  916. package/tsconfig.all.json +29 -0
  917. package/tsconfig.client.json +22 -0
  918. package/tsconfig.json +14 -0
  919. package/unlock-migrations.sh +41 -0
@@ -0,0 +1,1884 @@
1
+ # API
2
+
3
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
4
+
5
+ ## Interfaces
6
+
7
+ | | |
8
+ | --- | --- |
9
+ | [CommitNewTxResults](#interface-commitnewtxresults) | [PostBeefResultForTxidApi](#interface-postbeefresultfortxidapi) |
10
+ | [GenerateChangeSdkChangeInput](#interface-generatechangesdkchangeinput) | [PostReqsToNetworkDetails](#interface-postreqstonetworkdetails) |
11
+ | [GenerateChangeSdkChangeOutput](#interface-generatechangesdkchangeoutput) | [PostReqsToNetworkResult](#interface-postreqstonetworkresult) |
12
+ | [GenerateChangeSdkInput](#interface-generatechangesdkinput) | [StorageInternalizeActionResult](#interface-storageinternalizeactionresult) |
13
+ | [GenerateChangeSdkOutput](#interface-generatechangesdkoutput) | [StorageKnexOptions](#interface-storageknexoptions) |
14
+ | [GenerateChangeSdkParams](#interface-generatechangesdkparams) | [StorageProviderOptions](#interface-storageprovideroptions) |
15
+ | [GenerateChangeSdkResult](#interface-generatechangesdkresult) | [StorageReaderOptions](#interface-storagereaderoptions) |
16
+ | [GenerateChangeSdkStorageChange](#interface-generatechangesdkstoragechange) | [StorageReaderWriterOptions](#interface-storagereaderwriteroptions) |
17
+ | [GetReqsAndBeefDetail](#interface-getreqsandbeefdetail) | [WalletStorageServerOptions](#interface-walletstorageserveroptions) |
18
+ | [GetReqsAndBeefResult](#interface-getreqsandbeefresult) | [XValidCreateActionOutput](#interface-xvalidcreateactionoutput) |
19
+
20
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
21
+
22
+ ---
23
+
24
+ ### Interface: CommitNewTxResults
25
+
26
+ ```ts
27
+ export interface CommitNewTxResults {
28
+ req: entity.ProvenTxReq;
29
+ log?: string;
30
+ }
31
+ ```
32
+
33
+ See also: [log](#variable-log)
34
+
35
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
36
+
37
+ ---
38
+ ### Interface: GenerateChangeSdkChangeInput
39
+
40
+ ```ts
41
+ export interface GenerateChangeSdkChangeInput {
42
+ outputId: number;
43
+ satoshis: number;
44
+ }
45
+ ```
46
+
47
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
48
+
49
+ ---
50
+ ### Interface: GenerateChangeSdkChangeOutput
51
+
52
+ ```ts
53
+ export interface GenerateChangeSdkChangeOutput {
54
+ satoshis: number;
55
+ lockingScriptLength: number;
56
+ }
57
+ ```
58
+
59
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
60
+
61
+ ---
62
+ ### Interface: GenerateChangeSdkInput
63
+
64
+ ```ts
65
+ export interface GenerateChangeSdkInput {
66
+ satoshis: number;
67
+ unlockingScriptLength: number;
68
+ }
69
+ ```
70
+
71
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
72
+
73
+ ---
74
+ ### Interface: GenerateChangeSdkOutput
75
+
76
+ ```ts
77
+ export interface GenerateChangeSdkOutput {
78
+ satoshis: number;
79
+ lockingScriptLength: number;
80
+ }
81
+ ```
82
+
83
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
84
+
85
+ ---
86
+ ### Interface: GenerateChangeSdkParams
87
+
88
+ ```ts
89
+ export interface GenerateChangeSdkParams {
90
+ fixedInputs: GenerateChangeSdkInput[];
91
+ fixedOutputs: GenerateChangeSdkOutput[];
92
+ feeModel: sdk.StorageFeeModel;
93
+ targetNetCount?: number;
94
+ changeInitialSatoshis: number;
95
+ changeFirstSatoshis: number;
96
+ changeLockingScriptLength: number;
97
+ changeUnlockingScriptLength: number;
98
+ randomVals?: number[];
99
+ noLogging?: boolean;
100
+ log?: string;
101
+ }
102
+ ```
103
+
104
+ See also: [GenerateChangeSdkInput](#interface-generatechangesdkinput), [GenerateChangeSdkOutput](#interface-generatechangesdkoutput), [StorageFeeModel](#interface-storagefeemodel), [log](#variable-log)
105
+
106
+ <details>
107
+
108
+ <summary>Interface GenerateChangeSdkParams Details</summary>
109
+
110
+ #### Property changeFirstSatoshis
111
+
112
+ Lowest amount value to assign to a change output.
113
+ Drop the output if unable to satisfy.
114
+ default 285
115
+
116
+ ```ts
117
+ changeFirstSatoshis: number
118
+ ```
119
+
120
+ #### Property changeInitialSatoshis
121
+
122
+ Satoshi amount to initialize optional new change outputs.
123
+
124
+ ```ts
125
+ changeInitialSatoshis: number
126
+ ```
127
+
128
+ #### Property changeLockingScriptLength
129
+
130
+ Fixed change locking script length.
131
+
132
+ For P2PKH template, 25 bytes
133
+
134
+ ```ts
135
+ changeLockingScriptLength: number
136
+ ```
137
+
138
+ #### Property changeUnlockingScriptLength
139
+
140
+ Fixed change unlocking script length.
141
+
142
+ For P2PKH template, 107 bytes
143
+
144
+ ```ts
145
+ changeUnlockingScriptLength: number
146
+ ```
147
+
148
+ #### Property targetNetCount
149
+
150
+ Target for number of new change outputs added minus number of funding change outputs consumed.
151
+ If undefined, only a single change output will be added if excess fees must be recaptured.
152
+
153
+ ```ts
154
+ targetNetCount?: number
155
+ ```
156
+
157
+ </details>
158
+
159
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
160
+
161
+ ---
162
+ ### Interface: GenerateChangeSdkResult
163
+
164
+ ```ts
165
+ export interface GenerateChangeSdkResult {
166
+ allocatedChangeInputs: GenerateChangeSdkChangeInput[];
167
+ changeOutputs: GenerateChangeSdkChangeOutput[];
168
+ size: number;
169
+ fee: number;
170
+ satsPerKb: number;
171
+ }
172
+ ```
173
+
174
+ See also: [GenerateChangeSdkChangeInput](#interface-generatechangesdkchangeinput), [GenerateChangeSdkChangeOutput](#interface-generatechangesdkchangeoutput)
175
+
176
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
177
+
178
+ ---
179
+ ### Interface: GenerateChangeSdkStorageChange
180
+
181
+ ```ts
182
+ export interface GenerateChangeSdkStorageChange extends GenerateChangeSdkChangeInput {
183
+ spendable: boolean;
184
+ }
185
+ ```
186
+
187
+ See also: [GenerateChangeSdkChangeInput](#interface-generatechangesdkchangeinput)
188
+
189
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
190
+
191
+ ---
192
+ ### Interface: GetReqsAndBeefDetail
193
+
194
+ ```ts
195
+ export interface GetReqsAndBeefDetail {
196
+ txid: string;
197
+ req?: table.ProvenTxReq;
198
+ proven?: table.ProvenTx;
199
+ status: "readyToSend" | "alreadySent" | "error" | "unknown";
200
+ error?: string;
201
+ }
202
+ ```
203
+
204
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
205
+
206
+ ---
207
+ ### Interface: GetReqsAndBeefResult
208
+
209
+ ```ts
210
+ export interface GetReqsAndBeefResult {
211
+ beef: Beef;
212
+ details: GetReqsAndBeefDetail[];
213
+ }
214
+ ```
215
+
216
+ See also: [GetReqsAndBeefDetail](#interface-getreqsandbeefdetail)
217
+
218
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
219
+
220
+ ---
221
+ ### Interface: PostBeefResultForTxidApi
222
+
223
+ ```ts
224
+ export interface PostBeefResultForTxidApi {
225
+ txid: string;
226
+ status: "success" | "error";
227
+ alreadyKnown?: boolean;
228
+ blockHash?: string;
229
+ blockHeight?: number;
230
+ merklePath?: string;
231
+ }
232
+ ```
233
+
234
+ <details>
235
+
236
+ <summary>Interface PostBeefResultForTxidApi Details</summary>
237
+
238
+ #### Property alreadyKnown
239
+
240
+ if true, the transaction was already known to this service. Usually treat as a success.
241
+
242
+ Potentially stop posting to additional transaction processors.
243
+
244
+ ```ts
245
+ alreadyKnown?: boolean
246
+ ```
247
+
248
+ #### Property status
249
+
250
+ 'success' - The transaction was accepted for processing
251
+
252
+ ```ts
253
+ status: "success" | "error"
254
+ ```
255
+
256
+ </details>
257
+
258
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
259
+
260
+ ---
261
+ ### Interface: PostReqsToNetworkDetails
262
+
263
+ ```ts
264
+ export interface PostReqsToNetworkDetails {
265
+ txid: string;
266
+ req: entity.ProvenTxReq;
267
+ status: PostReqsToNetworkDetailsStatus;
268
+ pbrft: sdk.PostTxResultForTxid;
269
+ data?: string;
270
+ error?: string;
271
+ }
272
+ ```
273
+
274
+ See also: [PostReqsToNetworkDetailsStatus](#type-postreqstonetworkdetailsstatus), [PostTxResultForTxid](#interface-posttxresultfortxid)
275
+
276
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
277
+
278
+ ---
279
+ ### Interface: PostReqsToNetworkResult
280
+
281
+ ```ts
282
+ export interface PostReqsToNetworkResult {
283
+ status: "success" | "error";
284
+ beef: Beef;
285
+ details: PostReqsToNetworkDetails[];
286
+ pbr?: sdk.PostBeefResult;
287
+ log: string;
288
+ }
289
+ ```
290
+
291
+ See also: [PostBeefResult](#interface-postbeefresult), [PostReqsToNetworkDetails](#interface-postreqstonetworkdetails), [log](#variable-log)
292
+
293
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
294
+
295
+ ---
296
+ ### Interface: StorageInternalizeActionResult
297
+
298
+ ```ts
299
+ export interface StorageInternalizeActionResult extends InternalizeActionResult {
300
+ isMerge: boolean;
301
+ txid: string;
302
+ satoshis: number;
303
+ }
304
+ ```
305
+
306
+ <details>
307
+
308
+ <summary>Interface StorageInternalizeActionResult Details</summary>
309
+
310
+ #### Property isMerge
311
+
312
+ true if internalizing outputs on an existing storage transaction
313
+
314
+ ```ts
315
+ isMerge: boolean
316
+ ```
317
+
318
+ #### Property satoshis
319
+
320
+ net change in change balance for user due to this internalization
321
+
322
+ ```ts
323
+ satoshis: number
324
+ ```
325
+
326
+ #### Property txid
327
+
328
+ txid of transaction being internalized
329
+
330
+ ```ts
331
+ txid: string
332
+ ```
333
+
334
+ </details>
335
+
336
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
337
+
338
+ ---
339
+ ### Interface: StorageKnexOptions
340
+
341
+ ```ts
342
+ export interface StorageKnexOptions extends StorageProviderOptions {
343
+ knex: Knex;
344
+ }
345
+ ```
346
+
347
+ See also: [StorageProviderOptions](#interface-storageprovideroptions)
348
+
349
+ <details>
350
+
351
+ <summary>Interface StorageKnexOptions Details</summary>
352
+
353
+ #### Property knex
354
+
355
+ Knex database interface initialized with valid connection configuration.
356
+
357
+ ```ts
358
+ knex: Knex
359
+ ```
360
+
361
+ </details>
362
+
363
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
364
+
365
+ ---
366
+ ### Interface: StorageProviderOptions
367
+
368
+ ```ts
369
+ export interface StorageProviderOptions extends StorageReaderWriterOptions {
370
+ chain: sdk.Chain;
371
+ feeModel: sdk.StorageFeeModel;
372
+ commissionSatoshis: number;
373
+ commissionPubKeyHex?: PubKeyHex;
374
+ }
375
+ ```
376
+
377
+ See also: [Chain](#type-chain), [StorageFeeModel](#interface-storagefeemodel), [StorageReaderWriterOptions](#interface-storagereaderwriteroptions)
378
+
379
+ <details>
380
+
381
+ <summary>Interface StorageProviderOptions Details</summary>
382
+
383
+ #### Property commissionPubKeyHex
384
+
385
+ If commissionSatoshis is greater than zero, must be a valid public key hex string.
386
+ The actual locking script for each commission will use a public key derived
387
+ from this key by information stored in the commissions table.
388
+
389
+ ```ts
390
+ commissionPubKeyHex?: PubKeyHex
391
+ ```
392
+
393
+ #### Property commissionSatoshis
394
+
395
+ Transactions created by this Storage can charge a fee per transaction.
396
+ A value of zero disables commission fees.
397
+
398
+ ```ts
399
+ commissionSatoshis: number
400
+ ```
401
+
402
+ </details>
403
+
404
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
405
+
406
+ ---
407
+ ### Interface: StorageReaderOptions
408
+
409
+ ```ts
410
+ export interface StorageReaderOptions {
411
+ chain: sdk.Chain;
412
+ }
413
+ ```
414
+
415
+ See also: [Chain](#type-chain)
416
+
417
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
418
+
419
+ ---
420
+ ### Interface: StorageReaderWriterOptions
421
+
422
+ ```ts
423
+ export interface StorageReaderWriterOptions extends StorageReaderOptions {
424
+ }
425
+ ```
426
+
427
+ See also: [StorageReaderOptions](#interface-storagereaderoptions)
428
+
429
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
430
+
431
+ ---
432
+ ### Interface: WalletStorageServerOptions
433
+
434
+ ```ts
435
+ export interface WalletStorageServerOptions {
436
+ port: number;
437
+ wallet: Wallet;
438
+ monetize: boolean;
439
+ calculateRequestPrice?: (req: Request) => number | Promise<number>;
440
+ }
441
+ ```
442
+
443
+ See also: [Wallet](#class-wallet)
444
+
445
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
446
+
447
+ ---
448
+ ### Interface: XValidCreateActionOutput
449
+
450
+ ```ts
451
+ export interface XValidCreateActionOutput extends sdk.ValidCreateActionOutput {
452
+ vout: number;
453
+ providedBy: sdk.StorageProvidedBy;
454
+ purpose?: string;
455
+ derivationSuffix?: string;
456
+ keyOffset?: string;
457
+ }
458
+ ```
459
+
460
+ See also: [StorageProvidedBy](#type-storageprovidedby), [ValidCreateActionOutput](#interface-validcreateactionoutput)
461
+
462
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
463
+
464
+ ---
465
+ ## Classes
466
+
467
+ | |
468
+ | --- |
469
+ | [KnexMigrations](#class-knexmigrations) |
470
+ | [StorageClient](#class-storageclient) |
471
+ | [StorageKnex](#class-storageknex) |
472
+ | [StorageProvider](#class-storageprovider) |
473
+ | [StorageReader](#class-storagereader) |
474
+ | [StorageReaderWriter](#class-storagereaderwriter) |
475
+ | [StorageServer](#class-storageserver) |
476
+ | [StorageSyncReader](#class-storagesyncreader) |
477
+ | [WalletStorageManager](#class-walletstoragemanager) |
478
+
479
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
480
+
481
+ ---
482
+
483
+ ### Class: KnexMigrations
484
+
485
+ ```ts
486
+ export class KnexMigrations implements MigrationSource<string> {
487
+ migrations: Record<string, Migration> = {};
488
+ constructor(public chain: sdk.Chain, public storageName: string, public storageIdentityKey: string, public maxOutputScriptLength: number)
489
+ async getMigrations(): Promise<string[]>
490
+ getMigrationName(migration: string)
491
+ async getMigration(migration: string): Promise<Migration>
492
+ async getLatestMigration(): Promise<string>
493
+ static async latestMigration(): Promise<string>
494
+ setupMigrations(chain: string, storageName: string, storageIdentityKey: string, maxOutputScriptLength: number): Record<string, Migration>
495
+ static async dbtype(knex: Knex<any, any[]>): Promise<DBType> {
496
+ try {
497
+ const q = `SELECT
498
+ CASE
499
+ WHEN (SELECT VERSION() LIKE '%MariaDB%') = 1 THEN 'Unknown'
500
+ WHEN (SELECT VERSION()) IS NOT NULL THEN 'MySQL'
501
+ ELSE 'Unknown'
502
+ END AS database_type;`;
503
+ let r = await knex.raw(q);
504
+ if (!r[0]["database_type"])
505
+ r = r[0];
506
+ if (r["rows"])
507
+ r = r.rows;
508
+ const dbtype: "SQLite" | "MySQL" | "Unknown" = r[0].database_type;
509
+ if (dbtype === "Unknown")
510
+ throw new sdk.WERR_NOT_IMPLEMENTED(`Attempting to create database on unsuported engine.`);
511
+ return dbtype;
512
+ }
513
+ catch (eu: unknown) {
514
+ const e = sdk.WalletError.fromUnknown(eu);
515
+ if (e.code === "SQLITE_ERROR")
516
+ return "SQLite";
517
+ throw new sdk.WERR_NOT_IMPLEMENTED(`Attempting to create database on unsuported engine.`);
518
+ }
519
+ }
520
+ }
521
+ ```
522
+
523
+ See also: [Chain](#type-chain), [DBType](#type-dbtype), [WERR_NOT_IMPLEMENTED](#class-werr_not_implemented), [WalletError](#class-walleterror)
524
+
525
+ <details>
526
+
527
+ <summary>Class KnexMigrations Details</summary>
528
+
529
+ #### Constructor
530
+
531
+ ```ts
532
+ constructor(public chain: sdk.Chain, public storageName: string, public storageIdentityKey: string, public maxOutputScriptLength: number)
533
+ ```
534
+ See also: [Chain](#type-chain)
535
+
536
+ Argument Details
537
+
538
+ + **storageName**
539
+ + human readable name for this storage instance
540
+ + **maxOutputScriptLength**
541
+ + limit for scripts kept in outputs table, longer scripts will be pulled from rawTx
542
+
543
+ #### Method dbtype
544
+
545
+ ```ts
546
+ static async dbtype(knex: Knex<any, any[]>): Promise<DBType>
547
+ ```
548
+ See also: [DBType](#type-dbtype)
549
+
550
+ Returns
551
+
552
+ connected database engine variant
553
+
554
+ </details>
555
+
556
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
557
+
558
+ ---
559
+ ### Class: StorageClient
560
+
561
+ ```ts
562
+ export class StorageClient implements sdk.WalletStorageProvider {
563
+ public settings?: table.Settings;
564
+ constructor(wallet: WalletInterface, endpointUrl: string)
565
+ isStorageProvider(): boolean
566
+ isAvailable(): boolean
567
+ getSettings(): table.Settings
568
+ async makeAvailable(): Promise<table.Settings>
569
+ async destroy(): Promise<void>
570
+ async migrate(storageName: string, storageIdentityKey: string): Promise<string>
571
+ getServices(): sdk.WalletServices
572
+ setServices(v: sdk.WalletServices): void
573
+ async internalizeAction(auth: sdk.AuthId, args: InternalizeActionArgs): Promise<InternalizeActionResult>
574
+ async createAction(auth: sdk.AuthId, args: sdk.ValidCreateActionArgs): Promise<sdk.StorageCreateActionResult>
575
+ async processAction(auth: sdk.AuthId, args: sdk.StorageProcessActionArgs): Promise<sdk.StorageProcessActionResults>
576
+ async abortAction(auth: sdk.AuthId, args: AbortActionArgs): Promise<AbortActionResult>
577
+ async findOrInsertUser(identityKey): Promise<{
578
+ user: table.User;
579
+ isNew: boolean;
580
+ }>
581
+ async findOrInsertSyncStateAuth(auth: sdk.AuthId, storageIdentityKey: string, storageName: string): Promise<{
582
+ syncState: table.SyncState;
583
+ isNew: boolean;
584
+ }>
585
+ async insertCertificateAuth(auth: sdk.AuthId, certificate: table.CertificateX): Promise<number>
586
+ async listActions(auth: sdk.AuthId, vargs: sdk.ValidListActionsArgs): Promise<ListActionsResult>
587
+ async listOutputs(auth: sdk.AuthId, vargs: sdk.ValidListOutputsArgs): Promise<ListOutputsResult>
588
+ async listCertificates(auth: sdk.AuthId, vargs: sdk.ValidListCertificatesArgs): Promise<ListCertificatesResult>
589
+ async findCertificatesAuth(auth: sdk.AuthId, args: sdk.FindCertificatesArgs): Promise<table.Certificate[]>
590
+ async findOutputBasketsAuth(auth: sdk.AuthId, args: sdk.FindOutputBasketsArgs): Promise<table.OutputBasket[]>
591
+ async findOutputsAuth(auth: sdk.AuthId, args: sdk.FindOutputsArgs): Promise<table.Output[]>
592
+ findProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<table.ProvenTxReq[]>
593
+ async relinquishCertificate(auth: sdk.AuthId, args: RelinquishCertificateArgs): Promise<number>
594
+ async relinquishOutput(auth: sdk.AuthId, args: RelinquishOutputArgs): Promise<number>
595
+ async processSyncChunk(args: sdk.RequestSyncChunkArgs, chunk: sdk.SyncChunk): Promise<sdk.ProcessSyncChunkResult>
596
+ async getSyncChunk(args: sdk.RequestSyncChunkArgs): Promise<sdk.SyncChunk>
597
+ async updateProvenTxReqWithNewProvenTx(args: sdk.UpdateProvenTxReqWithNewProvenTxArgs): Promise<sdk.UpdateProvenTxReqWithNewProvenTxResult>
598
+ async setActive(auth: sdk.AuthId, newActiveStorageIdentityKey: string): Promise<number>
599
+ }
600
+ ```
601
+
602
+ See also: [AuthId](#interface-authid), [FindCertificatesArgs](#interface-findcertificatesargs), [FindOutputBasketsArgs](#interface-findoutputbasketsargs), [FindOutputsArgs](#interface-findoutputsargs), [FindProvenTxReqsArgs](#interface-findproventxreqsargs), [ProcessSyncChunkResult](#interface-processsyncchunkresult), [RequestSyncChunkArgs](#interface-requestsyncchunkargs), [StorageCreateActionResult](#interface-storagecreateactionresult), [StorageProcessActionArgs](#interface-storageprocessactionargs), [StorageProcessActionResults](#interface-storageprocessactionresults), [SyncChunk](#interface-syncchunk), [UpdateProvenTxReqWithNewProvenTxArgs](#interface-updateproventxreqwithnewproventxargs), [UpdateProvenTxReqWithNewProvenTxResult](#interface-updateproventxreqwithnewproventxresult), [ValidCreateActionArgs](#interface-validcreateactionargs), [ValidListActionsArgs](#interface-validlistactionsargs), [ValidListCertificatesArgs](#interface-validlistcertificatesargs), [ValidListOutputsArgs](#interface-validlistoutputsargs), [WalletServices](#interface-walletservices), [WalletStorageProvider](#interface-walletstorageprovider), [createAction](#function-createaction), [getSyncChunk](#function-getsyncchunk), [internalizeAction](#function-internalizeaction), [listActions](#function-listactions), [listCertificates](#function-listcertificates), [listOutputs](#function-listoutputs), [processAction](#function-processaction)
603
+
604
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
605
+
606
+ ---
607
+ ### Class: StorageKnex
608
+
609
+ ```ts
610
+ export class StorageKnex extends StorageProvider implements sdk.WalletStorageProvider {
611
+ knex: Knex;
612
+ constructor(options: StorageKnexOptions)
613
+ async readSettings(): Promise<table.Settings>
614
+ override async getProvenOrRawTx(txid: string, trx?: sdk.TrxToken): Promise<sdk.ProvenOrRawTx>
615
+ dbTypeSubstring(source: string, fromOffset: number, forLength?: number)
616
+ override async getRawTxOfKnownValidTransaction(txid?: string, offset?: number, length?: number, trx?: sdk.TrxToken): Promise<number[] | undefined>
617
+ getProvenTxsForUserQuery(args: sdk.FindForUserSincePagedArgs): Knex.QueryBuilder
618
+ override async getProvenTxsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.ProvenTx[]>
619
+ getProvenTxReqsForUserQuery(args: sdk.FindForUserSincePagedArgs): Knex.QueryBuilder
620
+ override async getProvenTxReqsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.ProvenTxReq[]>
621
+ getTxLabelMapsForUserQuery(args: sdk.FindForUserSincePagedArgs): Knex.QueryBuilder
622
+ override async getTxLabelMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.TxLabelMap[]>
623
+ getOutputTagMapsForUserQuery(args: sdk.FindForUserSincePagedArgs): Knex.QueryBuilder
624
+ override async getOutputTagMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.OutputTagMap[]>
625
+ override async listActions(auth: sdk.AuthId, vargs: sdk.ValidListActionsArgs): Promise<ListActionsResult>
626
+ override async listOutputs(auth: sdk.AuthId, vargs: sdk.ValidListOutputsArgs): Promise<ListOutputsResult>
627
+ override async insertProvenTx(tx: table.ProvenTx, trx?: sdk.TrxToken): Promise<number>
628
+ override async insertProvenTxReq(tx: table.ProvenTxReq, trx?: sdk.TrxToken): Promise<number>
629
+ override async insertUser(user: table.User, trx?: sdk.TrxToken): Promise<number>
630
+ override async insertCertificateAuth(auth: sdk.AuthId, certificate: table.CertificateX): Promise<number>
631
+ override async insertCertificate(certificate: table.CertificateX, trx?: sdk.TrxToken): Promise<number>
632
+ override async insertCertificateField(certificateField: table.CertificateField, trx?: sdk.TrxToken): Promise<void>
633
+ override async insertOutputBasket(basket: table.OutputBasket, trx?: sdk.TrxToken): Promise<number>
634
+ override async insertTransaction(tx: table.Transaction, trx?: sdk.TrxToken): Promise<number>
635
+ override async insertCommission(commission: table.Commission, trx?: sdk.TrxToken): Promise<number>
636
+ override async insertOutput(output: table.Output, trx?: sdk.TrxToken): Promise<number>
637
+ override async insertOutputTag(tag: table.OutputTag, trx?: sdk.TrxToken): Promise<number>
638
+ override async insertOutputTagMap(tagMap: table.OutputTagMap, trx?: sdk.TrxToken): Promise<void>
639
+ override async insertTxLabel(label: table.TxLabel, trx?: sdk.TrxToken): Promise<number>
640
+ override async insertTxLabelMap(labelMap: table.TxLabelMap, trx?: sdk.TrxToken): Promise<void>
641
+ override async insertMonitorEvent(event: table.MonitorEvent, trx?: sdk.TrxToken): Promise<number>
642
+ override async insertSyncState(syncState: table.SyncState, trx?: sdk.TrxToken): Promise<number>
643
+ override async updateCertificateField(certificateId: number, fieldName: string, update: Partial<table.CertificateField>, trx?: sdk.TrxToken): Promise<number>
644
+ override async updateCertificate(id: number, update: Partial<table.Certificate>, trx?: sdk.TrxToken): Promise<number>
645
+ override async updateCommission(id: number, update: Partial<table.Commission>, trx?: sdk.TrxToken): Promise<number>
646
+ override async updateOutputBasket(id: number, update: Partial<table.OutputBasket>, trx?: sdk.TrxToken): Promise<number>
647
+ override async updateOutput(id: number, update: Partial<table.Output>, trx?: sdk.TrxToken): Promise<number>
648
+ override async updateOutputTagMap(outputId: number, tagId: number, update: Partial<table.OutputTagMap>, trx?: sdk.TrxToken): Promise<number>
649
+ override async updateOutputTag(id: number, update: Partial<table.OutputTag>, trx?: sdk.TrxToken): Promise<number>
650
+ override async updateProvenTxReq(id: number | number[], update: Partial<table.ProvenTxReq>, trx?: sdk.TrxToken): Promise<number>
651
+ override async updateProvenTx(id: number, update: Partial<table.ProvenTx>, trx?: sdk.TrxToken): Promise<number>
652
+ override async updateSyncState(id: number, update: Partial<table.SyncState>, trx?: sdk.TrxToken): Promise<number>
653
+ override async updateTransaction(id: number | number[], update: Partial<table.Transaction>, trx?: sdk.TrxToken): Promise<number>
654
+ override async updateTxLabelMap(transactionId: number, txLabelId: number, update: Partial<table.TxLabelMap>, trx?: sdk.TrxToken): Promise<number>
655
+ override async updateTxLabel(id: number, update: Partial<table.TxLabel>, trx?: sdk.TrxToken): Promise<number>
656
+ override async updateUser(id: number, update: Partial<table.User>, trx?: sdk.TrxToken): Promise<number>
657
+ override async updateMonitorEvent(id: number, update: Partial<table.MonitorEvent>, trx?: sdk.TrxToken): Promise<number>
658
+ setupQuery<T extends object>(table: string, args: sdk.FindPartialSincePagedArgs<T>): Knex.QueryBuilder
659
+ findCertificateFieldsQuery(args: sdk.FindCertificateFieldsArgs): Knex.QueryBuilder
660
+ findCertificatesQuery(args: sdk.FindCertificatesArgs): Knex.QueryBuilder
661
+ findCommissionsQuery(args: sdk.FindCommissionsArgs): Knex.QueryBuilder
662
+ findOutputBasketsQuery(args: sdk.FindOutputBasketsArgs): Knex.QueryBuilder
663
+ findOutputsQuery(args: sdk.FindOutputsArgs, count?: boolean): Knex.QueryBuilder
664
+ findOutputTagMapsQuery(args: sdk.FindOutputTagMapsArgs): Knex.QueryBuilder
665
+ findOutputTagsQuery(args: sdk.FindOutputTagsArgs): Knex.QueryBuilder
666
+ findProvenTxReqsQuery(args: sdk.FindProvenTxReqsArgs): Knex.QueryBuilder
667
+ findProvenTxsQuery(args: sdk.FindProvenTxsArgs): Knex.QueryBuilder
668
+ findSyncStatesQuery(args: sdk.FindSyncStatesArgs): Knex.QueryBuilder
669
+ findTransactionsQuery(args: sdk.FindTransactionsArgs, count?: boolean): Knex.QueryBuilder
670
+ findTxLabelMapsQuery(args: sdk.FindTxLabelMapsArgs): Knex.QueryBuilder
671
+ findTxLabelsQuery(args: sdk.FindTxLabelsArgs): Knex.QueryBuilder
672
+ findUsersQuery(args: sdk.FindUsersArgs): Knex.QueryBuilder
673
+ findMonitorEventsQuery(args: sdk.FindMonitorEventsArgs): Knex.QueryBuilder
674
+ override async findCertificatesAuth(auth: sdk.AuthId, args: sdk.FindCertificatesArgs): Promise<table.Certificate[]>
675
+ override async findOutputBasketsAuth(auth: sdk.AuthId, args: sdk.FindOutputBasketsArgs): Promise<table.OutputBasket[]>
676
+ override async findOutputsAuth(auth: sdk.AuthId, args: sdk.FindOutputsArgs): Promise<table.Output[]>
677
+ override async findCertificateFields(args: sdk.FindCertificateFieldsArgs): Promise<table.CertificateField[]>
678
+ override async findCertificates(args: sdk.FindCertificatesArgs): Promise<table.Certificate[]>
679
+ override async findCommissions(args: sdk.FindCommissionsArgs): Promise<table.Commission[]>
680
+ override async findOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<table.OutputBasket[]>
681
+ override async findOutputs(args: sdk.FindOutputsArgs): Promise<table.Output[]>
682
+ override async findOutputTagMaps(args: sdk.FindOutputTagMapsArgs): Promise<table.OutputTagMap[]>
683
+ override async findOutputTags(args: sdk.FindOutputTagsArgs): Promise<table.OutputTag[]>
684
+ override async findProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<table.ProvenTxReq[]>
685
+ override async findProvenTxs(args: sdk.FindProvenTxsArgs): Promise<table.ProvenTx[]>
686
+ override async findSyncStates(args: sdk.FindSyncStatesArgs): Promise<table.SyncState[]>
687
+ override async findTransactions(args: sdk.FindTransactionsArgs): Promise<table.Transaction[]>
688
+ override async findTxLabelMaps(args: sdk.FindTxLabelMapsArgs): Promise<table.TxLabelMap[]>
689
+ override async findTxLabels(args: sdk.FindTxLabelsArgs): Promise<table.TxLabel[]>
690
+ override async findUsers(args: sdk.FindUsersArgs): Promise<table.User[]>
691
+ override async findMonitorEvents(args: sdk.FindMonitorEventsArgs): Promise<table.MonitorEvent[]>
692
+ async getCount<T extends object>(q: Knex.QueryBuilder<T, T[]>): Promise<number>
693
+ override async countCertificateFields(args: sdk.FindCertificateFieldsArgs): Promise<number>
694
+ override async countCertificates(args: sdk.FindCertificatesArgs): Promise<number>
695
+ override async countCommissions(args: sdk.FindCommissionsArgs): Promise<number>
696
+ override async countOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<number>
697
+ override async countOutputs(args: sdk.FindOutputsArgs): Promise<number>
698
+ override async countOutputTagMaps(args: sdk.FindOutputTagMapsArgs): Promise<number>
699
+ override async countOutputTags(args: sdk.FindOutputTagsArgs): Promise<number>
700
+ override async countProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<number>
701
+ override async countProvenTxs(args: sdk.FindProvenTxsArgs): Promise<number>
702
+ override async countSyncStates(args: sdk.FindSyncStatesArgs): Promise<number>
703
+ override async countTransactions(args: sdk.FindTransactionsArgs): Promise<number>
704
+ override async countTxLabelMaps(args: sdk.FindTxLabelMapsArgs): Promise<number>
705
+ override async countTxLabels(args: sdk.FindTxLabelsArgs): Promise<number>
706
+ override async countUsers(args: sdk.FindUsersArgs): Promise<number>
707
+ override async countMonitorEvents(args: sdk.FindMonitorEventsArgs): Promise<number>
708
+ override async destroy(): Promise<void>
709
+ override async migrate(storageName: string, storageIdentityKey: string): Promise<string>
710
+ override async dropAllData(): Promise<void>
711
+ override async transaction<T>(scope: (trx: sdk.TrxToken) => Promise<T>, trx?: sdk.TrxToken): Promise<T>
712
+ toDb(trx?: sdk.TrxToken)
713
+ async validateRawTransaction(t: table.Transaction, trx?: sdk.TrxToken): Promise<void>
714
+ async validateOutputScript(o: table.Output, trx?: sdk.TrxToken): Promise<void>
715
+ _verifiedReadyForDatabaseAccess: boolean = false;
716
+ async verifyReadyForDatabaseAccess(trx?: sdk.TrxToken): Promise<DBType>
717
+ validatePartialForUpdate<T extends sdk.EntityTimeStamp>(update: Partial<T>, dateFields?: string[], booleanFields?: string[]): Partial<T>
718
+ async validateEntityForInsert<T extends sdk.EntityTimeStamp>(entity: T, trx?: sdk.TrxToken, dateFields?: string[], booleanFields?: string[]): Promise<any>
719
+ override async getLabelsForTransactionId(transactionId?: number, trx?: sdk.TrxToken): Promise<table.TxLabel[]>
720
+ async extendOutput(o: table.Output, includeBasket = false, includeTags = false, trx?: sdk.TrxToken): Promise<table.OutputX>
721
+ override async getTagsForOutputId(outputId: number, trx?: sdk.TrxToken): Promise<table.OutputTag[]>
722
+ override async purgeData(params: sdk.PurgeParams, trx?: sdk.TrxToken): Promise<sdk.PurgeResults>
723
+ override async reviewStatus(args: {
724
+ agedLimit: Date;
725
+ trx?: sdk.TrxToken;
726
+ }): Promise<{
727
+ log: string;
728
+ }>
729
+ async countChangeInputs(userId: number, basketId: number, excludeSending: boolean): Promise<number>
730
+ async allocateChangeInput(userId: number, basketId: number, targetSatoshis: number, exactSatoshis: number | undefined, excludeSending: boolean, transactionId: number): Promise<table.Output | undefined> {
731
+ const status: sdk.TransactionStatus[] = ["completed", "unproven"];
732
+ if (!excludeSending)
733
+ status.push("sending");
734
+ const statusText = status.map(s => `'${s}'`).join(",");
735
+ const r: table.Output | undefined = await this.knex.transaction(async (trx) => {
736
+ const txStatusCondition = `AND (SELECT status FROM transactions WHERE outputs.transactionId = transactions.transactionId) in (${statusText})`;
737
+ let outputId: number | undefined;
738
+ const setOutputId = async (rawQuery: string): Promise<void> => {
739
+ let oidr = await trx.raw(rawQuery);
740
+ outputId = undefined;
741
+ if (!oidr["outputId"] && oidr.length > 0)
742
+ oidr = oidr[0];
743
+ if (!oidr["outputId"] && oidr.length > 0)
744
+ oidr = oidr[0];
745
+ if (oidr["outputId"])
746
+ outputId = Number(oidr["outputId"]);
747
+ };
748
+ if (exactSatoshis !== undefined) {
749
+ await setOutputId(`
750
+ SELECT outputId
751
+ FROM outputs
752
+ WHERE userId = ${userId}
753
+ AND spendable = 1
754
+ AND basketId = ${basketId}
755
+ ${txStatusCondition}
756
+ AND satoshis = ${exactSatoshis}
757
+ LIMIT 1;
758
+ `);
759
+ }
760
+ if (outputId === undefined) {
761
+ await setOutputId(`
762
+ SELECT outputId
763
+ FROM outputs
764
+ WHERE userId = ${userId}
765
+ AND spendable = 1
766
+ AND basketId = ${basketId}
767
+ ${txStatusCondition}
768
+ AND satoshis - ${targetSatoshis} = (
769
+ SELECT MIN(satoshis - ${targetSatoshis})
770
+ FROM outputs
771
+ WHERE userId = ${userId}
772
+ AND spendable = 1
773
+ AND basketId = ${basketId}
774
+ ${txStatusCondition}
775
+ AND satoshis - ${targetSatoshis} >= 0
776
+ )
777
+ LIMIT 1;
778
+ `);
779
+ }
780
+ if (outputId === undefined) {
781
+ await setOutputId(`
782
+ SELECT outputId
783
+ FROM outputs
784
+ WHERE userId = ${userId}
785
+ AND spendable = 1
786
+ AND basketId = ${basketId}
787
+ ${txStatusCondition}
788
+ AND satoshis - ${targetSatoshis} = (
789
+ SELECT MAX(satoshis - ${targetSatoshis})
790
+ FROM outputs
791
+ WHERE userId = ${userId}
792
+ AND spendable = 1
793
+ AND basketId = ${basketId}
794
+ ${txStatusCondition}
795
+ AND satoshis - ${targetSatoshis} < 0
796
+ )
797
+ LIMIT 1;
798
+ `);
799
+ }
800
+ if (outputId === undefined)
801
+ return undefined;
802
+ await this.updateOutput(outputId, {
803
+ spendable: false,
804
+ spentBy: transactionId
805
+ }, trx);
806
+ const r = verifyTruthy(await this.findOutputById(outputId, trx));
807
+ return r;
808
+ });
809
+ return r;
810
+ }
811
+ validateEntity<T extends sdk.EntityTimeStamp>(entity: T, dateFields?: string[], booleanFields?: string[]): T
812
+ validateEntities<T extends sdk.EntityTimeStamp>(entities: T[], dateFields?: string[], booleanFields?: string[]): T[]
813
+ }
814
+ ```
815
+
816
+ See also: [AuthId](#interface-authid), [DBType](#type-dbtype), [EntityTimeStamp](#interface-entitytimestamp), [FindCertificateFieldsArgs](#interface-findcertificatefieldsargs), [FindCertificatesArgs](#interface-findcertificatesargs), [FindCommissionsArgs](#interface-findcommissionsargs), [FindForUserSincePagedArgs](#interface-findforusersincepagedargs), [FindMonitorEventsArgs](#interface-findmonitoreventsargs), [FindOutputBasketsArgs](#interface-findoutputbasketsargs), [FindOutputTagMapsArgs](#interface-findoutputtagmapsargs), [FindOutputTagsArgs](#interface-findoutputtagsargs), [FindOutputsArgs](#interface-findoutputsargs), [FindPartialSincePagedArgs](#interface-findpartialsincepagedargs), [FindProvenTxReqsArgs](#interface-findproventxreqsargs), [FindProvenTxsArgs](#interface-findproventxsargs), [FindSyncStatesArgs](#interface-findsyncstatesargs), [FindTransactionsArgs](#interface-findtransactionsargs), [FindTxLabelMapsArgs](#interface-findtxlabelmapsargs), [FindTxLabelsArgs](#interface-findtxlabelsargs), [FindUsersArgs](#interface-findusersargs), [ProvenOrRawTx](#interface-provenorrawtx), [PurgeParams](#interface-purgeparams), [PurgeResults](#interface-purgeresults), [StorageKnexOptions](#interface-storageknexoptions), [StorageProvider](#class-storageprovider), [TransactionStatus](#type-transactionstatus), [TrxToken](#interface-trxtoken), [ValidListActionsArgs](#interface-validlistactionsargs), [ValidListOutputsArgs](#interface-validlistoutputsargs), [WalletStorageProvider](#interface-walletstorageprovider), [listActions](#function-listactions), [listOutputs](#function-listoutputs), [log](#variable-log), [purgeData](#function-purgedata), [reviewStatus](#function-reviewstatus), [verifyTruthy](#function-verifytruthy)
817
+
818
+ <details>
819
+
820
+ <summary>Class StorageKnex Details</summary>
821
+
822
+ #### Method allocateChangeInput
823
+
824
+ Finds closest matching available change output to use as input for new transaction.
825
+
826
+ Transactionally allocate the output such that
827
+
828
+ ```ts
829
+ async allocateChangeInput(userId: number, basketId: number, targetSatoshis: number, exactSatoshis: number | undefined, excludeSending: boolean, transactionId: number): Promise<table.Output | undefined>
830
+ ```
831
+
832
+ #### Method countChangeInputs
833
+
834
+ Finds closest matching available change output to use as input for new transaction.
835
+
836
+ Transactionally allocate the output such that
837
+
838
+ ```ts
839
+ async countChangeInputs(userId: number, basketId: number, excludeSending: boolean): Promise<number>
840
+ ```
841
+
842
+ #### Method toDb
843
+
844
+ Convert the standard optional `TrxToken` parameter into either a direct knex database instance,
845
+ or a Knex.Transaction as appropriate.
846
+
847
+ ```ts
848
+ toDb(trx?: sdk.TrxToken)
849
+ ```
850
+ See also: [TrxToken](#interface-trxtoken)
851
+
852
+ #### Method validateEntities
853
+
854
+ Helper to force uniform behavior across database engines.
855
+ Use to process all arrays of records with time stamps retreived from database.
856
+
857
+ ```ts
858
+ validateEntities<T extends sdk.EntityTimeStamp>(entities: T[], dateFields?: string[], booleanFields?: string[]): T[]
859
+ ```
860
+ See also: [EntityTimeStamp](#interface-entitytimestamp)
861
+
862
+ Returns
863
+
864
+ input `entities` array with contained values validated.
865
+
866
+ #### Method validateEntity
867
+
868
+ Helper to force uniform behavior across database engines.
869
+ Use to process all individual records with time stamps retreived from database.
870
+
871
+ ```ts
872
+ validateEntity<T extends sdk.EntityTimeStamp>(entity: T, dateFields?: string[], booleanFields?: string[]): T
873
+ ```
874
+ See also: [EntityTimeStamp](#interface-entitytimestamp)
875
+
876
+ #### Method validateEntityForInsert
877
+
878
+ Helper to force uniform behavior across database engines.
879
+ Use to process new entities being inserted into the database.
880
+
881
+ ```ts
882
+ async validateEntityForInsert<T extends sdk.EntityTimeStamp>(entity: T, trx?: sdk.TrxToken, dateFields?: string[], booleanFields?: string[]): Promise<any>
883
+ ```
884
+ See also: [EntityTimeStamp](#interface-entitytimestamp), [TrxToken](#interface-trxtoken)
885
+
886
+ #### Method validatePartialForUpdate
887
+
888
+ Helper to force uniform behavior across database engines.
889
+ Use to process the update template for entities being updated.
890
+
891
+ ```ts
892
+ validatePartialForUpdate<T extends sdk.EntityTimeStamp>(update: Partial<T>, dateFields?: string[], booleanFields?: string[]): Partial<T>
893
+ ```
894
+ See also: [EntityTimeStamp](#interface-entitytimestamp)
895
+
896
+ #### Method verifyReadyForDatabaseAccess
897
+
898
+ Make sure database is ready for access:
899
+
900
+ - dateScheme is known
901
+ - foreign key constraints are enabled
902
+
903
+ ```ts
904
+ async verifyReadyForDatabaseAccess(trx?: sdk.TrxToken): Promise<DBType>
905
+ ```
906
+ See also: [DBType](#type-dbtype), [TrxToken](#interface-trxtoken)
907
+
908
+ </details>
909
+
910
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
911
+
912
+ ---
913
+ ### Class: StorageProvider
914
+
915
+ ```ts
916
+ export abstract class StorageProvider extends StorageReaderWriter implements sdk.WalletStorageProvider {
917
+ isDirty = false;
918
+ _services?: sdk.WalletServices;
919
+ feeModel: sdk.StorageFeeModel;
920
+ commissionSatoshis: number;
921
+ commissionPubKeyHex?: PubKeyHex;
922
+ maxRecursionDepth?: number;
923
+ static defaultOptions()
924
+ static createStorageBaseOptions(chain: sdk.Chain): StorageProviderOptions
925
+ constructor(options: StorageProviderOptions)
926
+ abstract reviewStatus(args: {
927
+ agedLimit: Date;
928
+ trx?: sdk.TrxToken;
929
+ }): Promise<{
930
+ log: string;
931
+ }>;
932
+ abstract purgeData(params: sdk.PurgeParams, trx?: sdk.TrxToken): Promise<sdk.PurgeResults>;
933
+ abstract allocateChangeInput(userId: number, basketId: number, targetSatoshis: number, exactSatoshis: number | undefined, excludeSending: boolean, transactionId: number): Promise<table.Output | undefined>;
934
+ abstract getProvenOrRawTx(txid: string, trx?: sdk.TrxToken): Promise<sdk.ProvenOrRawTx>;
935
+ abstract getRawTxOfKnownValidTransaction(txid?: string, offset?: number, length?: number, trx?: sdk.TrxToken): Promise<number[] | undefined>;
936
+ abstract getLabelsForTransactionId(transactionId?: number, trx?: sdk.TrxToken): Promise<table.TxLabel[]>;
937
+ abstract getTagsForOutputId(outputId: number, trx?: sdk.TrxToken): Promise<table.OutputTag[]>;
938
+ abstract listActions(auth: sdk.AuthId, args: sdk.ValidListActionsArgs): Promise<ListActionsResult>;
939
+ abstract listOutputs(auth: sdk.AuthId, args: sdk.ValidListOutputsArgs): Promise<ListOutputsResult>;
940
+ abstract countChangeInputs(userId: number, basketId: number, excludeSending: boolean): Promise<number>;
941
+ abstract findCertificatesAuth(auth: sdk.AuthId, args: sdk.FindCertificatesArgs): Promise<table.Certificate[]>;
942
+ abstract findOutputBasketsAuth(auth: sdk.AuthId, args: sdk.FindOutputBasketsArgs): Promise<table.OutputBasket[]>;
943
+ abstract findOutputsAuth(auth: sdk.AuthId, args: sdk.FindOutputsArgs): Promise<table.Output[]>;
944
+ abstract insertCertificateAuth(auth: sdk.AuthId, certificate: table.CertificateX): Promise<number>;
945
+ override isStorageProvider(): boolean
946
+ setServices(v: sdk.WalletServices)
947
+ getServices(): sdk.WalletServices
948
+ async abortAction(auth: sdk.AuthId, args: Partial<table.Transaction>): Promise<AbortActionResult>
949
+ async internalizeAction(auth: sdk.AuthId, args: InternalizeActionArgs): Promise<InternalizeActionResult>
950
+ async getReqsAndBeefToShareWithWorld(txids: string[], knownTxids: string[], trx?: sdk.TrxToken): Promise<GetReqsAndBeefResult>
951
+ async mergeReqToBeefToShareExternally(req: table.ProvenTxReq, mergeToBeef: Beef, knownTxids: string[], trx?: sdk.TrxToken): Promise<void>
952
+ async getProvenOrReq(txid: string, newReq?: table.ProvenTxReq, trx?: sdk.TrxToken): Promise<sdk.StorageProvenOrReq>
953
+ async updateTransactionsStatus(transactionIds: number[], status: sdk.TransactionStatus): Promise<void>
954
+ async updateTransactionStatus(status: sdk.TransactionStatus, transactionId?: number, userId?: number, reference?: string, trx?: sdk.TrxToken): Promise<void>
955
+ async createAction(auth: sdk.AuthId, args: sdk.ValidCreateActionArgs): Promise<sdk.StorageCreateActionResult>
956
+ async processAction(auth: sdk.AuthId, args: sdk.StorageProcessActionArgs): Promise<sdk.StorageProcessActionResults>
957
+ async attemptToPostReqsToNetwork(reqs: entity.ProvenTxReq[], trx?: sdk.TrxToken): Promise<PostReqsToNetworkResult>
958
+ async listCertificates(auth: sdk.AuthId, args: sdk.ValidListCertificatesArgs): Promise<ListCertificatesResult>
959
+ async verifyKnownValidTransaction(txid: string, trx?: sdk.TrxToken): Promise<boolean>
960
+ async getValidBeefForKnownTxid(txid: string, mergeToBeef?: Beef, trustSelf?: TrustSelf, knownTxids?: string[], trx?: sdk.TrxToken): Promise<Beef>
961
+ async getValidBeefForTxid(txid: string, mergeToBeef?: Beef, trustSelf?: TrustSelf, knownTxids?: string[], trx?: sdk.TrxToken): Promise<Beef | undefined>
962
+ async getBeefForTransaction(txid: string, options: sdk.StorageGetBeefOptions): Promise<Beef>
963
+ async findMonitorEventById(id: number, trx?: sdk.TrxToken): Promise<table.MonitorEvent | undefined>
964
+ async relinquishCertificate(auth: sdk.AuthId, args: RelinquishCertificateArgs): Promise<number>
965
+ async relinquishOutput(auth: sdk.AuthId, args: RelinquishOutputArgs): Promise<number>
966
+ async processSyncChunk(args: sdk.RequestSyncChunkArgs, chunk: sdk.SyncChunk): Promise<sdk.ProcessSyncChunkResult>
967
+ async updateProvenTxReqWithNewProvenTx(args: sdk.UpdateProvenTxReqWithNewProvenTxArgs): Promise<sdk.UpdateProvenTxReqWithNewProvenTxResult>
968
+ async confirmSpendableOutputs(): Promise<{
969
+ invalidSpendableOutputs: table.Output[];
970
+ }>
971
+ async updateProvenTxReqDynamics(id: number, update: Partial<table.ProvenTxReqDynamics>, trx?: sdk.TrxToken): Promise<number>
972
+ }
973
+ ```
974
+
975
+ See also: [AuthId](#interface-authid), [Chain](#type-chain), [FindCertificatesArgs](#interface-findcertificatesargs), [FindOutputBasketsArgs](#interface-findoutputbasketsargs), [FindOutputsArgs](#interface-findoutputsargs), [GetReqsAndBeefResult](#interface-getreqsandbeefresult), [PostReqsToNetworkResult](#interface-postreqstonetworkresult), [ProcessSyncChunkResult](#interface-processsyncchunkresult), [ProvenOrRawTx](#interface-provenorrawtx), [PurgeParams](#interface-purgeparams), [PurgeResults](#interface-purgeresults), [RequestSyncChunkArgs](#interface-requestsyncchunkargs), [StorageCreateActionResult](#interface-storagecreateactionresult), [StorageFeeModel](#interface-storagefeemodel), [StorageGetBeefOptions](#interface-storagegetbeefoptions), [StorageProcessActionArgs](#interface-storageprocessactionargs), [StorageProcessActionResults](#interface-storageprocessactionresults), [StorageProvenOrReq](#interface-storageprovenorreq), [StorageProviderOptions](#interface-storageprovideroptions), [StorageReaderWriter](#class-storagereaderwriter), [SyncChunk](#interface-syncchunk), [TransactionStatus](#type-transactionstatus), [TrxToken](#interface-trxtoken), [UpdateProvenTxReqWithNewProvenTxArgs](#interface-updateproventxreqwithnewproventxargs), [UpdateProvenTxReqWithNewProvenTxResult](#interface-updateproventxreqwithnewproventxresult), [ValidCreateActionArgs](#interface-validcreateactionargs), [ValidListActionsArgs](#interface-validlistactionsargs), [ValidListCertificatesArgs](#interface-validlistcertificatesargs), [ValidListOutputsArgs](#interface-validlistoutputsargs), [WalletServices](#interface-walletservices), [WalletStorageProvider](#interface-walletstorageprovider), [attemptToPostReqsToNetwork](#function-attempttopostreqstonetwork), [createAction](#function-createaction), [getBeefForTransaction](#function-getbeeffortransaction), [internalizeAction](#function-internalizeaction), [listActions](#function-listactions), [listCertificates](#function-listcertificates), [listOutputs](#function-listoutputs), [log](#variable-log), [processAction](#function-processaction), [purgeData](#function-purgedata), [reviewStatus](#function-reviewstatus)
976
+
977
+ <details>
978
+
979
+ <summary>Class StorageProvider Details</summary>
980
+
981
+ #### Method confirmSpendableOutputs
982
+
983
+ For each spendable output in the 'default' basket of the authenticated user,
984
+ verify that the output script, satoshis, vout and txid match that of an output
985
+ still in the mempool of at least one service provider.
986
+
987
+ ```ts
988
+ async confirmSpendableOutputs(): Promise<{
989
+ invalidSpendableOutputs: table.Output[];
990
+ }>
991
+ ```
992
+
993
+ Returns
994
+
995
+ object with invalidSpendableOutputs array. A good result is an empty array.
996
+
997
+ #### Method getProvenOrReq
998
+
999
+ Checks if txid is a known valid ProvenTx and returns it if found.
1000
+ Next checks if txid is a current ProvenTxReq and returns that if found.
1001
+ If `newReq` is provided and an existing ProvenTxReq isn't found,
1002
+ use `newReq` to create a new ProvenTxReq.
1003
+
1004
+ This is safe "findOrInsert" operation using retry if unique index constraint
1005
+ is violated by a race condition insert.
1006
+
1007
+ ```ts
1008
+ async getProvenOrReq(txid: string, newReq?: table.ProvenTxReq, trx?: sdk.TrxToken): Promise<sdk.StorageProvenOrReq>
1009
+ ```
1010
+ See also: [StorageProvenOrReq](#interface-storageprovenorreq), [TrxToken](#interface-trxtoken)
1011
+
1012
+ #### Method getReqsAndBeefToShareWithWorld
1013
+
1014
+ Given an array of transaction txids with current ProvenTxReq ready-to-share status,
1015
+ lookup their DojoProvenTxReqApi req records.
1016
+ For the txids with reqs and status still ready to send construct a single merged beef.
1017
+
1018
+ ```ts
1019
+ async getReqsAndBeefToShareWithWorld(txids: string[], knownTxids: string[], trx?: sdk.TrxToken): Promise<GetReqsAndBeefResult>
1020
+ ```
1021
+ See also: [GetReqsAndBeefResult](#interface-getreqsandbeefresult), [TrxToken](#interface-trxtoken)
1022
+
1023
+ #### Method updateProvenTxReqWithNewProvenTx
1024
+
1025
+ Handles storage changes when a valid MerklePath and mined block header are found for a ProvenTxReq txid.
1026
+
1027
+ Performs the following storage updates (typically):
1028
+ 1. Lookup the exising `ProvenTxReq` record for its rawTx
1029
+ 2. Insert a new ProvenTx record using properties from `args` and rawTx, yielding a new provenTxId
1030
+ 3. Update ProvenTxReq record with status 'completed' and new provenTxId value (and history of status changed)
1031
+ 4. Unpack notify transactionIds from req and update each transaction's status to 'completed', provenTxId value.
1032
+ 5. Update ProvenTxReq history again to record that transactions have been notified.
1033
+ 6. Return results...
1034
+
1035
+ Alterations of "typically" to handle:
1036
+
1037
+ ```ts
1038
+ async updateProvenTxReqWithNewProvenTx(args: sdk.UpdateProvenTxReqWithNewProvenTxArgs): Promise<sdk.UpdateProvenTxReqWithNewProvenTxResult>
1039
+ ```
1040
+ See also: [UpdateProvenTxReqWithNewProvenTxArgs](#interface-updateproventxreqwithnewproventxargs), [UpdateProvenTxReqWithNewProvenTxResult](#interface-updateproventxreqwithnewproventxresult)
1041
+
1042
+ #### Method updateTransactionStatus
1043
+
1044
+ For all `status` values besides 'failed', just updates the transaction records status property.
1045
+
1046
+ For 'status' of 'failed', attempts to make outputs previously allocated as inputs to this transaction usable again.
1047
+
1048
+ ```ts
1049
+ async updateTransactionStatus(status: sdk.TransactionStatus, transactionId?: number, userId?: number, reference?: string, trx?: sdk.TrxToken): Promise<void>
1050
+ ```
1051
+ See also: [TransactionStatus](#type-transactionstatus), [TrxToken](#interface-trxtoken)
1052
+
1053
+ Throws
1054
+
1055
+ ERR_DOJO_COMPLETED_TX if current status is 'completed' and new status is not 'completed.
1056
+
1057
+ ERR_DOJO_PROVEN_TX if transaction has proof or provenTxId and new status is not 'completed'.
1058
+
1059
+ </details>
1060
+
1061
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1062
+
1063
+ ---
1064
+ ### Class: StorageReader
1065
+
1066
+ The `StorageReader` abstract class is the base of the concrete wallet storage provider classes.
1067
+
1068
+ It is the minimal interface required to read all wallet state records and is the base class for sync readers.
1069
+
1070
+ The next class in the heirarchy is the `StorageReaderWriter` which supports sync readers and writers.
1071
+
1072
+ The last class in the heirarchy is the `Storage` class which supports all active wallet operations.
1073
+
1074
+ The ability to construct a properly configured instance of this class implies authentication.
1075
+ As such there are no user specific authenticated access checks implied in the implementation of any of these methods.
1076
+
1077
+ ```ts
1078
+ export abstract class StorageReader implements sdk.StorageSyncReader {
1079
+ chain: sdk.Chain;
1080
+ _settings?: table.Settings;
1081
+ whenLastAccess?: Date;
1082
+ get dbtype(): DBType | undefined
1083
+ constructor(options: StorageReaderOptions)
1084
+ isAvailable(): boolean
1085
+ async makeAvailable(): Promise<table.Settings>
1086
+ getSettings(): table.Settings
1087
+ isStorageProvider(): boolean
1088
+ abstract destroy(): Promise<void>;
1089
+ abstract transaction<T>(scope: (trx: sdk.TrxToken) => Promise<T>, trx?: sdk.TrxToken): Promise<T>;
1090
+ abstract readSettings(trx?: sdk.TrxToken): Promise<table.Settings>;
1091
+ abstract findCertificateFields(args: sdk.FindCertificateFieldsArgs): Promise<table.CertificateField[]>;
1092
+ abstract findCertificates(args: sdk.FindCertificatesArgs): Promise<table.Certificate[]>;
1093
+ abstract findCommissions(args: sdk.FindCommissionsArgs): Promise<table.Commission[]>;
1094
+ abstract findMonitorEvents(args: sdk.FindMonitorEventsArgs): Promise<table.MonitorEvent[]>;
1095
+ abstract findOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<table.OutputBasket[]>;
1096
+ abstract findOutputs(args: sdk.FindOutputsArgs): Promise<table.Output[]>;
1097
+ abstract findOutputTags(args: sdk.FindOutputTagsArgs): Promise<table.OutputTag[]>;
1098
+ abstract findSyncStates(args: sdk.FindSyncStatesArgs): Promise<table.SyncState[]>;
1099
+ abstract findTransactions(args: sdk.FindTransactionsArgs): Promise<table.Transaction[]>;
1100
+ abstract findTxLabels(args: sdk.FindTxLabelsArgs): Promise<table.TxLabel[]>;
1101
+ abstract findUsers(args: sdk.FindUsersArgs): Promise<table.User[]>;
1102
+ abstract countCertificateFields(args: sdk.FindCertificateFieldsArgs): Promise<number>;
1103
+ abstract countCertificates(args: sdk.FindCertificatesArgs): Promise<number>;
1104
+ abstract countCommissions(args: sdk.FindCommissionsArgs): Promise<number>;
1105
+ abstract countMonitorEvents(args: sdk.FindMonitorEventsArgs): Promise<number>;
1106
+ abstract countOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<number>;
1107
+ abstract countOutputs(args: sdk.FindOutputsArgs): Promise<number>;
1108
+ abstract countOutputTags(args: sdk.FindOutputTagsArgs): Promise<number>;
1109
+ abstract countSyncStates(args: sdk.FindSyncStatesArgs): Promise<number>;
1110
+ abstract countTransactions(args: sdk.FindTransactionsArgs): Promise<number>;
1111
+ abstract countTxLabels(args: sdk.FindTxLabelsArgs): Promise<number>;
1112
+ abstract countUsers(args: sdk.FindUsersArgs): Promise<number>;
1113
+ abstract getProvenTxsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.ProvenTx[]>;
1114
+ abstract getProvenTxReqsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.ProvenTxReq[]>;
1115
+ abstract getTxLabelMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.TxLabelMap[]>;
1116
+ abstract getOutputTagMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.OutputTagMap[]>;
1117
+ async findUserByIdentityKey(key: string): Promise<table.User | undefined>
1118
+ async getSyncChunk(args: sdk.RequestSyncChunkArgs): Promise<sdk.SyncChunk>
1119
+ validateEntityDate(date: Date | string | number): Date | string
1120
+ validateOptionalEntityDate(date: Date | string | number | null | undefined, useNowAsDefault?: boolean): Date | string | undefined
1121
+ validateDate(date: Date | string | number): Date
1122
+ validateOptionalDate(date: Date | string | number | null | undefined): Date | undefined
1123
+ validateDateForWhere(date: Date | string | number): Date | string | number
1124
+ }
1125
+ ```
1126
+
1127
+ See also: [Chain](#type-chain), [DBType](#type-dbtype), [FindCertificateFieldsArgs](#interface-findcertificatefieldsargs), [FindCertificatesArgs](#interface-findcertificatesargs), [FindCommissionsArgs](#interface-findcommissionsargs), [FindForUserSincePagedArgs](#interface-findforusersincepagedargs), [FindMonitorEventsArgs](#interface-findmonitoreventsargs), [FindOutputBasketsArgs](#interface-findoutputbasketsargs), [FindOutputTagsArgs](#interface-findoutputtagsargs), [FindOutputsArgs](#interface-findoutputsargs), [FindSyncStatesArgs](#interface-findsyncstatesargs), [FindTransactionsArgs](#interface-findtransactionsargs), [FindTxLabelsArgs](#interface-findtxlabelsargs), [FindUsersArgs](#interface-findusersargs), [RequestSyncChunkArgs](#interface-requestsyncchunkargs), [StorageReaderOptions](#interface-storagereaderoptions), [StorageSyncReader](#class-storagesyncreader), [SyncChunk](#interface-syncchunk), [TrxToken](#interface-trxtoken), [getSyncChunk](#function-getsyncchunk)
1128
+
1129
+ <details>
1130
+
1131
+ <summary>Class StorageReader Details</summary>
1132
+
1133
+ #### Method validateEntityDate
1134
+
1135
+ Force dates to strings on SQLite and Date objects on MySQL
1136
+
1137
+ ```ts
1138
+ validateEntityDate(date: Date | string | number): Date | string
1139
+ ```
1140
+
1141
+ #### Method validateOptionalEntityDate
1142
+
1143
+ ```ts
1144
+ validateOptionalEntityDate(date: Date | string | number | null | undefined, useNowAsDefault?: boolean): Date | string | undefined
1145
+ ```
1146
+
1147
+ Argument Details
1148
+
1149
+ + **useNowAsDefault**
1150
+ + if true and date is null or undefiend, set to current time.
1151
+
1152
+ </details>
1153
+
1154
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1155
+
1156
+ ---
1157
+ ### Class: StorageReaderWriter
1158
+
1159
+ ```ts
1160
+ export abstract class StorageReaderWriter extends StorageReader {
1161
+ constructor(options: StorageReaderWriterOptions)
1162
+ abstract dropAllData(): Promise<void>;
1163
+ abstract migrate(storageName: string, storageIdentityKey: string): Promise<string>;
1164
+ abstract findOutputTagMaps(args: sdk.FindOutputTagMapsArgs): Promise<table.OutputTagMap[]>;
1165
+ abstract findProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<table.ProvenTxReq[]>;
1166
+ abstract findProvenTxs(args: sdk.FindProvenTxsArgs): Promise<table.ProvenTx[]>;
1167
+ abstract findTxLabelMaps(args: sdk.FindTxLabelMapsArgs): Promise<table.TxLabelMap[]>;
1168
+ abstract countOutputTagMaps(args: sdk.FindOutputTagMapsArgs): Promise<number>;
1169
+ abstract countProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<number>;
1170
+ abstract countProvenTxs(args: sdk.FindProvenTxsArgs): Promise<number>;
1171
+ abstract countTxLabelMaps(args: sdk.FindTxLabelMapsArgs): Promise<number>;
1172
+ abstract insertCertificate(certificate: table.Certificate, trx?: sdk.TrxToken): Promise<number>;
1173
+ abstract insertCertificateField(certificateField: table.CertificateField, trx?: sdk.TrxToken): Promise<void>;
1174
+ abstract insertCommission(commission: table.Commission, trx?: sdk.TrxToken): Promise<number>;
1175
+ abstract insertMonitorEvent(event: table.MonitorEvent, trx?: sdk.TrxToken): Promise<number>;
1176
+ abstract insertOutput(output: table.Output, trx?: sdk.TrxToken): Promise<number>;
1177
+ abstract insertOutputBasket(basket: table.OutputBasket, trx?: sdk.TrxToken): Promise<number>;
1178
+ abstract insertOutputTag(tag: table.OutputTag, trx?: sdk.TrxToken): Promise<number>;
1179
+ abstract insertOutputTagMap(tagMap: table.OutputTagMap, trx?: sdk.TrxToken): Promise<void>;
1180
+ abstract insertProvenTx(tx: table.ProvenTx, trx?: sdk.TrxToken): Promise<number>;
1181
+ abstract insertProvenTxReq(tx: table.ProvenTxReq, trx?: sdk.TrxToken): Promise<number>;
1182
+ abstract insertSyncState(syncState: table.SyncState, trx?: sdk.TrxToken): Promise<number>;
1183
+ abstract insertTransaction(tx: table.Transaction, trx?: sdk.TrxToken): Promise<number>;
1184
+ abstract insertTxLabel(label: table.TxLabel, trx?: sdk.TrxToken): Promise<number>;
1185
+ abstract insertTxLabelMap(labelMap: table.TxLabelMap, trx?: sdk.TrxToken): Promise<void>;
1186
+ abstract insertUser(user: table.User, trx?: sdk.TrxToken): Promise<number>;
1187
+ abstract updateCertificate(id: number, update: Partial<table.Certificate>, trx?: sdk.TrxToken): Promise<number>;
1188
+ abstract updateCertificateField(certificateId: number, fieldName: string, update: Partial<table.CertificateField>, trx?: sdk.TrxToken): Promise<number>;
1189
+ abstract updateCommission(id: number, update: Partial<table.Commission>, trx?: sdk.TrxToken): Promise<number>;
1190
+ abstract updateMonitorEvent(id: number, update: Partial<table.MonitorEvent>, trx?: sdk.TrxToken): Promise<number>;
1191
+ abstract updateOutput(id: number, update: Partial<table.Output>, trx?: sdk.TrxToken): Promise<number>;
1192
+ abstract updateOutputBasket(id: number, update: Partial<table.OutputBasket>, trx?: sdk.TrxToken): Promise<number>;
1193
+ abstract updateOutputTag(id: number, update: Partial<table.OutputTag>, trx?: sdk.TrxToken): Promise<number>;
1194
+ abstract updateOutputTagMap(outputId: number, tagId: number, update: Partial<table.OutputTagMap>, trx?: sdk.TrxToken): Promise<number>;
1195
+ abstract updateProvenTx(id: number, update: Partial<table.ProvenTx>, trx?: sdk.TrxToken): Promise<number>;
1196
+ abstract updateProvenTxReq(id: number | number[], update: Partial<table.ProvenTxReq>, trx?: sdk.TrxToken): Promise<number>;
1197
+ abstract updateSyncState(id: number, update: Partial<table.SyncState>, trx?: sdk.TrxToken): Promise<number>;
1198
+ abstract updateTransaction(id: number | number[], update: Partial<table.Transaction>, trx?: sdk.TrxToken): Promise<number>;
1199
+ abstract updateTxLabel(id: number, update: Partial<table.TxLabel>, trx?: sdk.TrxToken): Promise<number>;
1200
+ abstract updateTxLabelMap(transactionId: number, txLabelId: number, update: Partial<table.TxLabelMap>, trx?: sdk.TrxToken): Promise<number>;
1201
+ abstract updateUser(id: number, update: Partial<table.User>, trx?: sdk.TrxToken): Promise<number>;
1202
+ async setActive(auth: sdk.AuthId, newActiveStorageIdentityKey: string): Promise<number>
1203
+ async findCertificateById(id: number, trx?: sdk.TrxToken): Promise<table.Certificate | undefined>
1204
+ async findCommissionById(id: number, trx?: sdk.TrxToken): Promise<table.Commission | undefined>
1205
+ async findOutputById(id: number, trx?: sdk.TrxToken, noScript?: boolean): Promise<table.Output | undefined>
1206
+ async findOutputBasketById(id: number, trx?: sdk.TrxToken): Promise<table.OutputBasket | undefined>
1207
+ async findProvenTxById(id: number, trx?: sdk.TrxToken | undefined): Promise<table.ProvenTx | undefined>
1208
+ async findProvenTxReqById(id: number, trx?: sdk.TrxToken | undefined): Promise<table.ProvenTxReq | undefined>
1209
+ async findSyncStateById(id: number, trx?: sdk.TrxToken): Promise<table.SyncState | undefined>
1210
+ async findTransactionById(id: number, trx?: sdk.TrxToken, noRawTx?: boolean): Promise<table.Transaction | undefined>
1211
+ async findTxLabelById(id: number, trx?: sdk.TrxToken): Promise<table.TxLabel | undefined>
1212
+ async findOutputTagById(id: number, trx?: sdk.TrxToken): Promise<table.OutputTag | undefined>
1213
+ async findUserById(id: number, trx?: sdk.TrxToken): Promise<table.User | undefined>
1214
+ async findOrInsertUser(identityKey: string, trx?: sdk.TrxToken): Promise<{
1215
+ user: table.User;
1216
+ isNew: boolean;
1217
+ }>
1218
+ async findOrInsertTransaction(newTx: table.Transaction, trx?: sdk.TrxToken): Promise<{
1219
+ tx: table.Transaction;
1220
+ isNew: boolean;
1221
+ }>
1222
+ async findOrInsertOutputBasket(userId: number, name: string, trx?: sdk.TrxToken): Promise<table.OutputBasket>
1223
+ async findOrInsertTxLabel(userId: number, label: string, trx?: sdk.TrxToken): Promise<table.TxLabel>
1224
+ async findOrInsertTxLabelMap(transactionId: number, txLabelId: number, trx?: sdk.TrxToken): Promise<table.TxLabelMap>
1225
+ async findOrInsertOutputTag(userId: number, tag: string, trx?: sdk.TrxToken): Promise<table.OutputTag>
1226
+ async findOrInsertOutputTagMap(outputId: number, outputTagId: number, trx?: sdk.TrxToken): Promise<table.OutputTagMap>
1227
+ async findOrInsertSyncStateAuth(auth: sdk.AuthId, storageIdentityKey: string, storageName: string): Promise<{
1228
+ syncState: table.SyncState;
1229
+ isNew: boolean;
1230
+ }>
1231
+ async findOrInsertProvenTxReq(newReq: table.ProvenTxReq, trx?: sdk.TrxToken): Promise<{
1232
+ req: table.ProvenTxReq;
1233
+ isNew: boolean;
1234
+ }>
1235
+ async findOrInsertProvenTx(newProven: table.ProvenTx, trx?: sdk.TrxToken): Promise<{
1236
+ proven: table.ProvenTx;
1237
+ isNew: boolean;
1238
+ }>
1239
+ abstract processSyncChunk(args: sdk.RequestSyncChunkArgs, chunk: sdk.SyncChunk): Promise<sdk.ProcessSyncChunkResult>;
1240
+ async tagOutput(partial: Partial<table.Output>, tag: string, trx?: sdk.TrxToken): Promise<void>
1241
+ }
1242
+ ```
1243
+
1244
+ See also: [AuthId](#interface-authid), [FindOutputTagMapsArgs](#interface-findoutputtagmapsargs), [FindProvenTxReqsArgs](#interface-findproventxreqsargs), [FindProvenTxsArgs](#interface-findproventxsargs), [FindTxLabelMapsArgs](#interface-findtxlabelmapsargs), [ProcessSyncChunkResult](#interface-processsyncchunkresult), [RequestSyncChunkArgs](#interface-requestsyncchunkargs), [StorageReader](#class-storagereader), [StorageReaderWriterOptions](#interface-storagereaderwriteroptions), [SyncChunk](#interface-syncchunk), [TrxToken](#interface-trxtoken)
1245
+
1246
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1247
+
1248
+ ---
1249
+ ### Class: StorageServer
1250
+
1251
+ ```ts
1252
+ export class StorageServer {
1253
+ constructor(storage: StorageProvider, options: WalletStorageServerOptions)
1254
+ public start(): void
1255
+ }
1256
+ ```
1257
+
1258
+ See also: [StorageProvider](#class-storageprovider), [WalletStorageServerOptions](#interface-walletstorageserveroptions)
1259
+
1260
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1261
+
1262
+ ---
1263
+ ### Class: StorageSyncReader
1264
+
1265
+ The `StorageSyncReader` non-abstract class must be used when authentication checking access to the methods of a `StorageBaseReader` is required.
1266
+
1267
+ Constructed from an `auth` object that must minimally include the authenticated user's identityKey,
1268
+ and the `StorageBaseReader` to be protected.
1269
+
1270
+ ```ts
1271
+ export class StorageSyncReader implements sdk.StorageSyncReader {
1272
+ constructor(public auth: sdk.AuthId, public storage: StorageReader)
1273
+ isAvailable(): boolean
1274
+ async makeAvailable(): Promise<table.Settings>
1275
+ destroy(): Promise<void>
1276
+ getSettings(): table.Settings
1277
+ async getSyncChunk(args: sdk.RequestSyncChunkArgs): Promise<sdk.SyncChunk>
1278
+ async findUserByIdentityKey(key: string): Promise<table.User | undefined>
1279
+ async findSyncStates(args: sdk.FindSyncStatesArgs): Promise<table.SyncState[]>
1280
+ async findCertificateFields(args: sdk.FindCertificateFieldsArgs): Promise<table.CertificateField[]>
1281
+ async findCertificates(args: sdk.FindCertificatesArgs): Promise<table.Certificate[]>
1282
+ async findCommissions(args: sdk.FindCommissionsArgs): Promise<table.Commission[]>
1283
+ async findOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<table.OutputBasket[]>
1284
+ async findOutputs(args: sdk.FindOutputsArgs): Promise<table.Output[]>
1285
+ async findOutputTags(args: sdk.FindOutputTagsArgs): Promise<table.OutputTag[]>
1286
+ async findTransactions(args: sdk.FindTransactionsArgs): Promise<table.Transaction[]>
1287
+ async findTxLabels(args: sdk.FindTxLabelsArgs): Promise<table.TxLabel[]>
1288
+ async getProvenTxsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.ProvenTx[]>
1289
+ async getProvenTxReqsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.ProvenTxReq[]>
1290
+ async getTxLabelMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.TxLabelMap[]>
1291
+ async getOutputTagMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<table.OutputTagMap[]>
1292
+ }
1293
+ ```
1294
+
1295
+ See also: [AuthId](#interface-authid), [FindCertificateFieldsArgs](#interface-findcertificatefieldsargs), [FindCertificatesArgs](#interface-findcertificatesargs), [FindCommissionsArgs](#interface-findcommissionsargs), [FindForUserSincePagedArgs](#interface-findforusersincepagedargs), [FindOutputBasketsArgs](#interface-findoutputbasketsargs), [FindOutputTagsArgs](#interface-findoutputtagsargs), [FindOutputsArgs](#interface-findoutputsargs), [FindSyncStatesArgs](#interface-findsyncstatesargs), [FindTransactionsArgs](#interface-findtransactionsargs), [FindTxLabelsArgs](#interface-findtxlabelsargs), [RequestSyncChunkArgs](#interface-requestsyncchunkargs), [StorageReader](#class-storagereader), [SyncChunk](#interface-syncchunk), [getSyncChunk](#function-getsyncchunk)
1296
+
1297
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1298
+
1299
+ ---
1300
+ ### Class: WalletStorageManager
1301
+
1302
+ The `SignerStorage` class delivers authentication checking storage access to the wallet.
1303
+
1304
+ If manages multiple `StorageBase` derived storage services: one actice, the rest as backups.
1305
+
1306
+ Of the storage services, one is 'active' at any one time.
1307
+ On startup, and whenever triggered by the wallet, `SignerStorage` runs a syncrhonization sequence:
1308
+
1309
+ 1. While synchronizing, all other access to storage is blocked waiting.
1310
+ 2. The active service is confirmed, potentially triggering a resolution process if there is disagreement.
1311
+ 3. Changes are pushed from the active storage service to each inactive, backup service.
1312
+
1313
+ Some storage services do not support multiple writers. `SignerStorage` manages wait-blocking write requests
1314
+ for these services.
1315
+
1316
+ ```ts
1317
+ export class WalletStorageManager implements sdk.WalletStorage {
1318
+ stores: sdk.WalletStorageProvider[] = [];
1319
+ _authId: sdk.AuthId;
1320
+ _services?: sdk.WalletServices;
1321
+ _userIdentityKeyToId: Record<string, number> = {};
1322
+ _readerCount: number = 0;
1323
+ _writerCount: number = 0;
1324
+ _isSingleWriter: boolean = true;
1325
+ _syncLocked: boolean = false;
1326
+ _storageProviderLocked: boolean = false;
1327
+ constructor(identityKey: string, active?: sdk.WalletStorageProvider, backups?: sdk.WalletStorageProvider[])
1328
+ isStorageProvider(): boolean
1329
+ async getUserId(): Promise<number>
1330
+ async getAuth(mustBeActive?: boolean): Promise<sdk.AuthId>
1331
+ getActive(): sdk.WalletStorageProvider
1332
+ async getActiveForWriter(): Promise<sdk.WalletStorageWriter>
1333
+ async getActiveForReader(): Promise<sdk.WalletStorageReader>
1334
+ async getActiveForSync(): Promise<sdk.WalletStorageSync>
1335
+ async getActiveForStorageProvider(): Promise<StorageProvider>
1336
+ async runAsWriter<R>(writer: (active: sdk.WalletStorageWriter) => Promise<R>): Promise<R>
1337
+ async runAsReader<R>(reader: (active: sdk.WalletStorageReader) => Promise<R>): Promise<R>
1338
+ async runAsSync<R>(sync: (active: sdk.WalletStorageSync) => Promise<R>, activeSync?: sdk.WalletStorageSync): Promise<R>
1339
+ async runAsStorageProvider<R>(sync: (active: StorageProvider) => Promise<R>): Promise<R>
1340
+ isActiveStorageProvider(): boolean
1341
+ isAvailable(): boolean
1342
+ async addWalletStorageProvider(provider: sdk.WalletStorageProvider): Promise<void>
1343
+ setServices(v: sdk.WalletServices)
1344
+ getServices(): sdk.WalletServices
1345
+ getSettings(): table.Settings
1346
+ async makeAvailable(): Promise<table.Settings>
1347
+ async migrate(storageName: string, storageIdentityKey: string): Promise<string>
1348
+ async destroy(): Promise<void>
1349
+ async findOrInsertUser(identityKey: string): Promise<{
1350
+ user: table.User;
1351
+ isNew: boolean;
1352
+ }>
1353
+ async abortAction(args: AbortActionArgs): Promise<AbortActionResult>
1354
+ async createAction(vargs: sdk.ValidCreateActionArgs): Promise<sdk.StorageCreateActionResult>
1355
+ async internalizeAction(args: InternalizeActionArgs): Promise<InternalizeActionResult>
1356
+ async relinquishCertificate(args: RelinquishCertificateArgs): Promise<number>
1357
+ async relinquishOutput(args: RelinquishOutputArgs): Promise<number>
1358
+ async processAction(args: sdk.StorageProcessActionArgs): Promise<sdk.StorageProcessActionResults>
1359
+ async insertCertificate(certificate: table.Certificate): Promise<number>
1360
+ async listActions(vargs: sdk.ValidListActionsArgs): Promise<ListActionsResult>
1361
+ async listCertificates(args: sdk.ValidListCertificatesArgs): Promise<ListCertificatesResult>
1362
+ async listOutputs(vargs: sdk.ValidListOutputsArgs): Promise<ListOutputsResult>
1363
+ async findCertificates(args: sdk.FindCertificatesArgs): Promise<table.Certificate[]>
1364
+ async findOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<table.OutputBasket[]>
1365
+ async findOutputs(args: sdk.FindOutputsArgs): Promise<table.Output[]>
1366
+ async findProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<table.ProvenTxReq[]>
1367
+ async syncFromReader(identityKey: string, reader: StorageSyncReader): Promise<void>
1368
+ async updateBackups(activeSync?: sdk.WalletStorageSync)
1369
+ async syncToWriter(auth: sdk.AuthId, writer: sdk.WalletStorageProvider, activeSync?: sdk.WalletStorageSync): Promise<{
1370
+ inserts: number;
1371
+ updates: number;
1372
+ }>
1373
+ async setActive(storageIdentityKey: string): Promise<void>
1374
+ }
1375
+ ```
1376
+
1377
+ See also: [AuthId](#interface-authid), [FindCertificatesArgs](#interface-findcertificatesargs), [FindOutputBasketsArgs](#interface-findoutputbasketsargs), [FindOutputsArgs](#interface-findoutputsargs), [FindProvenTxReqsArgs](#interface-findproventxreqsargs), [StorageCreateActionResult](#interface-storagecreateactionresult), [StorageProcessActionArgs](#interface-storageprocessactionargs), [StorageProcessActionResults](#interface-storageprocessactionresults), [StorageProvider](#class-storageprovider), [StorageSyncReader](#class-storagesyncreader), [ValidCreateActionArgs](#interface-validcreateactionargs), [ValidListActionsArgs](#interface-validlistactionsargs), [ValidListCertificatesArgs](#interface-validlistcertificatesargs), [ValidListOutputsArgs](#interface-validlistoutputsargs), [WalletServices](#interface-walletservices), [WalletStorage](#interface-walletstorage), [WalletStorageProvider](#interface-walletstorageprovider), [WalletStorageReader](#interface-walletstoragereader), [WalletStorageSync](#interface-walletstoragesync), [WalletStorageWriter](#interface-walletstoragewriter), [createAction](#function-createaction), [internalizeAction](#function-internalizeaction), [listActions](#function-listactions), [listCertificates](#function-listcertificates), [listOutputs](#function-listoutputs), [processAction](#function-processaction)
1378
+
1379
+ <details>
1380
+
1381
+ <summary>Class WalletStorageManager Details</summary>
1382
+
1383
+ #### Property _isSingleWriter
1384
+
1385
+ if true, allow only a single writer to proceed at a time.
1386
+ queue the blocked requests so they get executed in order when released.
1387
+
1388
+ ```ts
1389
+ _isSingleWriter: boolean = true
1390
+ ```
1391
+
1392
+ #### Property _storageProviderLocked
1393
+
1394
+ if true, allow no new reader or writers or sync to proceed.
1395
+ queue the blocked requests so they get executed in order when released.
1396
+
1397
+ ```ts
1398
+ _storageProviderLocked: boolean = false
1399
+ ```
1400
+
1401
+ #### Property _syncLocked
1402
+
1403
+ if true, allow no new reader or writers to proceed.
1404
+ queue the blocked requests so they get executed in order when released.
1405
+
1406
+ ```ts
1407
+ _syncLocked: boolean = false
1408
+ ```
1409
+
1410
+ #### Method isActiveStorageProvider
1411
+
1412
+ ```ts
1413
+ isActiveStorageProvider(): boolean
1414
+ ```
1415
+
1416
+ Returns
1417
+
1418
+ true if the active `WalletStorageProvider` also implements `StorageProvider`
1419
+
1420
+ #### Method runAsSync
1421
+
1422
+ ```ts
1423
+ async runAsSync<R>(sync: (active: sdk.WalletStorageSync) => Promise<R>, activeSync?: sdk.WalletStorageSync): Promise<R>
1424
+ ```
1425
+ See also: [WalletStorageSync](#interface-walletstoragesync)
1426
+
1427
+ Argument Details
1428
+
1429
+ + **sync**
1430
+ + the function to run with sync access lock
1431
+ + **activeSync**
1432
+ + from chained sync functions, active storage already held under sync access lock.
1433
+
1434
+ #### Method setActive
1435
+
1436
+ Updates backups and switches to new active storage provider from among current backup providers.
1437
+
1438
+ ```ts
1439
+ async setActive(storageIdentityKey: string): Promise<void>
1440
+ ```
1441
+
1442
+ Argument Details
1443
+
1444
+ + **storageIdentityKey**
1445
+ + of current backup storage provider that is to become the new active provider.
1446
+
1447
+ </details>
1448
+
1449
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1450
+
1451
+ ---
1452
+ ## Functions
1453
+
1454
+ | | |
1455
+ | --- | --- |
1456
+ | [attemptToPostReqsToNetwork](#function-attempttopostreqstonetwork) | [offsetPubKey](#function-offsetpubkey) |
1457
+ | [createAction](#function-createaction) | [processAction](#function-processaction) |
1458
+ | [createStorageServiceChargeScript](#function-createstorageservicechargescript) | [purgeData](#function-purgedata) |
1459
+ | [generateChangeSdk](#function-generatechangesdk) | [reviewStatus](#function-reviewstatus) |
1460
+ | [generateChangeSdkMakeStorage](#function-generatechangesdkmakestorage) | [transactionInputSize](#function-transactioninputsize) |
1461
+ | [getBeefForTransaction](#function-getbeeffortransaction) | [transactionOutputSize](#function-transactionoutputsize) |
1462
+ | [getSyncChunk](#function-getsyncchunk) | [transactionSize](#function-transactionsize) |
1463
+ | [internalizeAction](#function-internalizeaction) | [validateGenerateChangeSdkParams](#function-validategeneratechangesdkparams) |
1464
+ | [listActions](#function-listactions) | [validateGenerateChangeSdkResult](#function-validategeneratechangesdkresult) |
1465
+ | [listCertificates](#function-listcertificates) | [validateStorageFeeModel](#function-validatestoragefeemodel) |
1466
+ | [listOutputs](#function-listoutputs) | [varUintSize](#function-varuintsize) |
1467
+ | [lockScriptWithKeyOffsetFromPubKey](#function-lockscriptwithkeyoffsetfrompubkey) | |
1468
+
1469
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1470
+
1471
+ ---
1472
+
1473
+ ### Function: attemptToPostReqsToNetwork
1474
+
1475
+ Attempt to post one or more `ProvenTxReq` with status 'unsent'
1476
+ to the bitcoin network.
1477
+
1478
+ ```ts
1479
+ export async function attemptToPostReqsToNetwork(storage: StorageProvider, reqs: entity.ProvenTxReq[], trx?: sdk.TrxToken): Promise<PostReqsToNetworkResult>
1480
+ ```
1481
+
1482
+ See also: [PostReqsToNetworkResult](#interface-postreqstonetworkresult), [StorageProvider](#class-storageprovider), [TrxToken](#interface-trxtoken)
1483
+
1484
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1485
+
1486
+ ---
1487
+ ### Function: createAction
1488
+
1489
+ ```ts
1490
+ export async function createAction(storage: StorageProvider, auth: sdk.AuthId, vargs: sdk.ValidCreateActionArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<sdk.StorageCreateActionResult>
1491
+ ```
1492
+
1493
+ See also: [AuthId](#interface-authid), [StorageCreateActionResult](#interface-storagecreateactionresult), [StorageProvider](#class-storageprovider), [ValidCreateActionArgs](#interface-validcreateactionargs)
1494
+
1495
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1496
+
1497
+ ---
1498
+ ### Function: createStorageServiceChargeScript
1499
+
1500
+ ```ts
1501
+ export function createStorageServiceChargeScript(pubKeyHex: PubKeyHex): {
1502
+ script: string;
1503
+ keyOffset: string;
1504
+ }
1505
+ ```
1506
+
1507
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1508
+
1509
+ ---
1510
+ ### Function: generateChangeSdk
1511
+
1512
+ Simplifications:
1513
+ - only support one change type with fixed length scripts.
1514
+ - only support satsPerKb fee model.
1515
+
1516
+ Confirms for each availbleChange output that it remains available as they are allocated and selects alternate if not.
1517
+
1518
+ ```ts
1519
+ export async function generateChangeSdk(params: GenerateChangeSdkParams, allocateChangeInput: (targetSatoshis: number, exactSatoshis?: number) => Promise<GenerateChangeSdkChangeInput | undefined>, releaseChangeInput: (outputId: number) => Promise<void>): Promise<GenerateChangeSdkResult>
1520
+ ```
1521
+
1522
+ See also: [GenerateChangeSdkChangeInput](#interface-generatechangesdkchangeinput), [GenerateChangeSdkParams](#interface-generatechangesdkparams), [GenerateChangeSdkResult](#interface-generatechangesdkresult)
1523
+
1524
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1525
+
1526
+ ---
1527
+ ### Function: generateChangeSdkMakeStorage
1528
+
1529
+ ```ts
1530
+ export function generateChangeSdkMakeStorage(availableChange: GenerateChangeSdkChangeInput[]): {
1531
+ allocateChangeInput: (targetSatoshis: number, exactSatoshis?: number) => Promise<GenerateChangeSdkChangeInput | undefined>;
1532
+ releaseChangeInput: (outputId: number) => Promise<void>;
1533
+ getLog: () => string;
1534
+ }
1535
+ ```
1536
+
1537
+ See also: [GenerateChangeSdkChangeInput](#interface-generatechangesdkchangeinput)
1538
+
1539
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1540
+
1541
+ ---
1542
+ ### Function: getBeefForTransaction
1543
+
1544
+ Creates a `Beef` to support the validity of a transaction identified by its `txid`.
1545
+
1546
+ `storage` is used to retrieve proven transactions and their merkle paths,
1547
+ or proven_tx_req record with beef of external inputs (internal inputs meged by recursion).
1548
+ Otherwise external services are used.
1549
+
1550
+ `options.maxRecursionDepth` can be set to prevent overly deep chained dependencies. Will throw ERR_EXTSVS_ENVELOPE_DEPTH if exceeded.
1551
+
1552
+ If `trustSelf` is true, a partial `Beef` will be returned where transactions known by `storage` to
1553
+ be valid by verified proof are represented solely by 'txid'.
1554
+
1555
+ If `knownTxids` is defined, any 'txid' required by the `Beef` that appears in the array is represented solely as a 'known' txid.
1556
+
1557
+ ```ts
1558
+ export async function getBeefForTransaction(storage: StorageProvider, txid: string, options: sdk.StorageGetBeefOptions): Promise<Beef>
1559
+ ```
1560
+
1561
+ See also: [StorageGetBeefOptions](#interface-storagegetbeefoptions), [StorageProvider](#class-storageprovider)
1562
+
1563
+ <details>
1564
+
1565
+ <summary>Function getBeefForTransaction Details</summary>
1566
+
1567
+ Argument Details
1568
+
1569
+ + **storage**
1570
+ + the chain on which txid exists.
1571
+ + **txid**
1572
+ + the transaction hash for which an envelope is requested.
1573
+
1574
+ </details>
1575
+
1576
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1577
+
1578
+ ---
1579
+ ### Function: getSyncChunk
1580
+
1581
+ Gets the next sync chunk of updated data from un-remoted storage (could be using a remote DB connection).
1582
+
1583
+ ```ts
1584
+ export async function getSyncChunk(storage: StorageReader, args: sdk.RequestSyncChunkArgs): Promise<sdk.SyncChunk>
1585
+ ```
1586
+
1587
+ See also: [RequestSyncChunkArgs](#interface-requestsyncchunkargs), [StorageReader](#class-storagereader), [SyncChunk](#interface-syncchunk)
1588
+
1589
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1590
+
1591
+ ---
1592
+ ### Function: internalizeAction
1593
+
1594
+ Internalize Action allows a wallet to take ownership of outputs in a pre-existing transaction.
1595
+ The transaction may, or may not already be known to both the storage and user.
1596
+
1597
+ Two types of outputs are handled: "wallet payments" and "basket insertions".
1598
+
1599
+ A "basket insertion" output is considered a custom output and has no effect on the wallet's "balance".
1600
+
1601
+ A "wallet payment" adds an outputs value to the wallet's change "balance". These outputs are assigned to the "default" basket.
1602
+
1603
+ Processing starts with simple validation and then checks for a pre-existing transaction.
1604
+ If the transaction is already known to the user, then the outputs are reviewed against the existing outputs treatment,
1605
+ and merge rules are added to the arguments passed to the storage layer.
1606
+ The existing transaction must be in the 'unproven' or 'completed' status. Any other status is an error.
1607
+
1608
+ When the transaction already exists, the description is updated. The isOutgoing sense is not changed.
1609
+
1610
+ "basket insertion" Merge Rules:
1611
+ 1. The "default" basket may not be specified as the insertion basket.
1612
+ 2. A change output in the "default" basket may not be target of an insertion into a different basket.
1613
+ 3. These baskets do not affect the wallet's balance and are typed "custom".
1614
+
1615
+ "wallet payment" Merge Rules:
1616
+ 1. Targetting an existing change "default" basket output results in a no-op. No error. No alterations made.
1617
+ 2. Targetting a previously "custom" non-change output converts it into a change output. This alters the transaction's `satoshis`, and the wallet balance.
1618
+
1619
+ ```ts
1620
+ export async function internalizeAction(storage: StorageProvider, auth: sdk.AuthId, args: InternalizeActionArgs): Promise<InternalizeActionResult>
1621
+ ```
1622
+
1623
+ See also: [AuthId](#interface-authid), [StorageProvider](#class-storageprovider)
1624
+
1625
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1626
+
1627
+ ---
1628
+ ### Function: listActions
1629
+
1630
+ ```ts
1631
+ export async function listActions(storage: StorageKnex, auth: sdk.AuthId, vargs: sdk.ValidListActionsArgs): Promise<ListActionsResult>
1632
+ ```
1633
+
1634
+ See also: [AuthId](#interface-authid), [StorageKnex](#class-storageknex), [ValidListActionsArgs](#interface-validlistactionsargs)
1635
+
1636
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1637
+
1638
+ ---
1639
+ ### Function: listCertificates
1640
+
1641
+ ```ts
1642
+ export async function listCertificates(storage: StorageProvider, auth: sdk.AuthId, vargs: sdk.ValidListCertificatesArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<ListCertificatesResult>
1643
+ ```
1644
+
1645
+ See also: [AuthId](#interface-authid), [StorageProvider](#class-storageprovider), [ValidListCertificatesArgs](#interface-validlistcertificatesargs)
1646
+
1647
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1648
+
1649
+ ---
1650
+ ### Function: listOutputs
1651
+
1652
+ ```ts
1653
+ export async function listOutputs(dsk: StorageKnex, auth: sdk.AuthId, vargs: sdk.ValidListOutputsArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<ListOutputsResult>
1654
+ ```
1655
+
1656
+ See also: [AuthId](#interface-authid), [StorageKnex](#class-storageknex), [ValidListOutputsArgs](#interface-validlistoutputsargs)
1657
+
1658
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1659
+
1660
+ ---
1661
+ ### Function: lockScriptWithKeyOffsetFromPubKey
1662
+
1663
+ ```ts
1664
+ export function lockScriptWithKeyOffsetFromPubKey(pubKey: string, keyOffset?: string): {
1665
+ script: string;
1666
+ keyOffset: string;
1667
+ }
1668
+ ```
1669
+
1670
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1671
+
1672
+ ---
1673
+ ### Function: offsetPubKey
1674
+
1675
+ ```ts
1676
+ export function offsetPubKey(pubKey: string, keyOffset?: string): {
1677
+ offsetPubKey: string;
1678
+ keyOffset: string;
1679
+ }
1680
+ ```
1681
+
1682
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1683
+
1684
+ ---
1685
+ ### Function: processAction
1686
+
1687
+ ```ts
1688
+ export async function processAction(storage: StorageProvider, auth: sdk.AuthId, args: sdk.StorageProcessActionArgs): Promise<sdk.StorageProcessActionResults>
1689
+ ```
1690
+
1691
+ See also: [AuthId](#interface-authid), [StorageProcessActionArgs](#interface-storageprocessactionargs), [StorageProcessActionResults](#interface-storageprocessactionresults), [StorageProvider](#class-storageprovider)
1692
+
1693
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1694
+
1695
+ ---
1696
+ ### Function: purgeData
1697
+
1698
+ ```ts
1699
+ export async function purgeData(storage: StorageKnex, params: sdk.PurgeParams, trx?: sdk.TrxToken): Promise<sdk.PurgeResults>
1700
+ ```
1701
+
1702
+ See also: [PurgeParams](#interface-purgeparams), [PurgeResults](#interface-purgeresults), [StorageKnex](#class-storageknex), [TrxToken](#interface-trxtoken)
1703
+
1704
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1705
+
1706
+ ---
1707
+ ### Function: reviewStatus
1708
+
1709
+ ```ts
1710
+ export async function reviewStatus(storage: StorageKnex, args: {
1711
+ agedLimit: Date;
1712
+ trx?: sdk.TrxToken;
1713
+ }): Promise<{
1714
+ log: string;
1715
+ }>
1716
+ ```
1717
+
1718
+ See also: [StorageKnex](#class-storageknex), [TrxToken](#interface-trxtoken), [log](#variable-log)
1719
+
1720
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1721
+
1722
+ ---
1723
+ ### Function: transactionInputSize
1724
+
1725
+ ```ts
1726
+ export function transactionInputSize(scriptSize: number): number
1727
+ ```
1728
+
1729
+ <details>
1730
+
1731
+ <summary>Function transactionInputSize Details</summary>
1732
+
1733
+ Returns
1734
+
1735
+ serialized byte length a transaction input
1736
+
1737
+ Argument Details
1738
+
1739
+ + **scriptSize**
1740
+ + byte length of input script
1741
+
1742
+ </details>
1743
+
1744
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1745
+
1746
+ ---
1747
+ ### Function: transactionOutputSize
1748
+
1749
+ ```ts
1750
+ export function transactionOutputSize(scriptSize: number): number
1751
+ ```
1752
+
1753
+ <details>
1754
+
1755
+ <summary>Function transactionOutputSize Details</summary>
1756
+
1757
+ Returns
1758
+
1759
+ serialized byte length a transaction output
1760
+
1761
+ Argument Details
1762
+
1763
+ + **scriptSize**
1764
+ + byte length of output script
1765
+
1766
+ </details>
1767
+
1768
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1769
+
1770
+ ---
1771
+ ### Function: transactionSize
1772
+
1773
+ Compute the serialized binary transaction size in bytes
1774
+ given the number of inputs and outputs,
1775
+ and the size of each script.
1776
+
1777
+ ```ts
1778
+ export function transactionSize(inputs: number[], outputs: number[]): number
1779
+ ```
1780
+
1781
+ <details>
1782
+
1783
+ <summary>Function transactionSize Details</summary>
1784
+
1785
+ Returns
1786
+
1787
+ total transaction size in bytes
1788
+
1789
+ Argument Details
1790
+
1791
+ + **inputs**
1792
+ + array of input script lengths, in bytes
1793
+ + **outputs**
1794
+ + array of output script lengths, in bytes
1795
+
1796
+ </details>
1797
+
1798
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1799
+
1800
+ ---
1801
+ ### Function: validateGenerateChangeSdkParams
1802
+
1803
+ ```ts
1804
+ export function validateGenerateChangeSdkParams(params: GenerateChangeSdkParams)
1805
+ ```
1806
+
1807
+ See also: [GenerateChangeSdkParams](#interface-generatechangesdkparams)
1808
+
1809
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1810
+
1811
+ ---
1812
+ ### Function: validateGenerateChangeSdkResult
1813
+
1814
+ ```ts
1815
+ export function validateGenerateChangeSdkResult(params: GenerateChangeSdkParams, r: GenerateChangeSdkResult): {
1816
+ ok: boolean;
1817
+ log: string;
1818
+ }
1819
+ ```
1820
+
1821
+ See also: [GenerateChangeSdkParams](#interface-generatechangesdkparams), [GenerateChangeSdkResult](#interface-generatechangesdkresult), [log](#variable-log)
1822
+
1823
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1824
+
1825
+ ---
1826
+ ### Function: validateStorageFeeModel
1827
+
1828
+ ```ts
1829
+ export function validateStorageFeeModel(v?: sdk.StorageFeeModel): sdk.StorageFeeModel
1830
+ ```
1831
+
1832
+ See also: [StorageFeeModel](#interface-storagefeemodel)
1833
+
1834
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1835
+
1836
+ ---
1837
+ ### Function: varUintSize
1838
+
1839
+ Returns the byte size required to encode number as Bitcoin VarUint
1840
+
1841
+ ```ts
1842
+ export function varUintSize(val: number): 1 | 3 | 5 | 9 {
1843
+ if (val < 0)
1844
+ throw new sdk.WERR_INVALID_PARAMETER("varUint", "non-negative");
1845
+ return val <= 252 ? 1 : val <= 65535 ? 3 : val <= 4294967295 ? 5 : 9;
1846
+ }
1847
+ ```
1848
+
1849
+ See also: [WERR_INVALID_PARAMETER](#class-werr_invalid_parameter)
1850
+
1851
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1852
+
1853
+ ---
1854
+ ## Types
1855
+
1856
+ | |
1857
+ | --- |
1858
+ | [DBType](#type-dbtype) |
1859
+ | [PostReqsToNetworkDetailsStatus](#type-postreqstonetworkdetailsstatus) |
1860
+
1861
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1862
+
1863
+ ---
1864
+
1865
+ ### Type: DBType
1866
+
1867
+ ```ts
1868
+ export type DBType = "SQLite" | "MySQL"
1869
+ ```
1870
+
1871
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1872
+
1873
+ ---
1874
+ ### Type: PostReqsToNetworkDetailsStatus
1875
+
1876
+ ```ts
1877
+ export type PostReqsToNetworkDetailsStatus = "success" | "doubleSpend" | "unknown"
1878
+ ```
1879
+
1880
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1881
+
1882
+ ---
1883
+ ## Variables
1884
+