@bsv/wallet-toolbox 1.4.3 → 1.4.5

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 (250) hide show
  1. package/docs/client.md +225 -79
  2. package/docs/monitor.md +32 -1
  3. package/docs/wallet.md +225 -79
  4. package/mobile/out/src/WalletPermissionsManager.d.ts +60 -1
  5. package/mobile/out/src/WalletPermissionsManager.d.ts.map +1 -1
  6. package/mobile/out/src/WalletPermissionsManager.js +223 -15
  7. package/mobile/out/src/WalletPermissionsManager.js.map +1 -1
  8. package/mobile/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  9. package/mobile/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  10. package/mobile/package-lock.json +2 -2
  11. package/mobile/package.json +1 -1
  12. package/out/src/CWIStyleWalletManager.js +1 -1
  13. package/out/src/CWIStyleWalletManager.js.map +1 -1
  14. package/out/src/WalletPermissionsManager.d.ts +60 -1
  15. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  16. package/out/src/WalletPermissionsManager.js +222 -15
  17. package/out/src/WalletPermissionsManager.js.map +1 -1
  18. package/out/src/__tests/WalletPermissionsManager.initialization.test.js.map +1 -1
  19. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  20. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  21. package/out/src/sdk/CertOps.d.ts +66 -0
  22. package/out/src/sdk/CertOps.d.ts.map +1 -0
  23. package/out/src/sdk/CertOps.js +198 -0
  24. package/out/src/sdk/CertOps.js.map +1 -0
  25. package/out/src/sdk/StorageSyncReader.d.ts +121 -0
  26. package/out/src/sdk/StorageSyncReader.d.ts.map +1 -0
  27. package/out/src/sdk/StorageSyncReader.js +3 -0
  28. package/out/src/sdk/StorageSyncReader.js.map +1 -0
  29. package/out/src/sdk/StorageSyncReaderWriter.d.ts +89 -0
  30. package/out/src/sdk/StorageSyncReaderWriter.d.ts.map +1 -0
  31. package/out/src/sdk/StorageSyncReaderWriter.js +3 -0
  32. package/out/src/sdk/StorageSyncReaderWriter.js.map +1 -0
  33. package/out/src/services/__tests/ARC.test.d.ts +2 -0
  34. package/out/src/services/__tests/ARC.test.d.ts.map +1 -0
  35. package/out/src/services/__tests/ARC.test.js +104 -0
  36. package/out/src/services/__tests/ARC.test.js.map +1 -0
  37. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts +98 -0
  38. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts.map +1 -0
  39. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js +38 -0
  40. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js.map +1 -0
  41. package/out/src/storage/methods/listActions.d.ts +5 -0
  42. package/out/src/storage/methods/listActions.d.ts.map +1 -0
  43. package/out/src/storage/methods/listActions.js +228 -0
  44. package/out/src/storage/methods/listActions.js.map +1 -0
  45. package/out/src/storage/methods/listOutputs.d.ts +5 -0
  46. package/out/src/storage/methods/listOutputs.d.ts.map +1 -0
  47. package/out/src/storage/methods/listOutputs.js +295 -0
  48. package/out/src/storage/methods/listOutputs.js.map +1 -0
  49. package/out/src/storage/schema/entities/Certificate.d.ts +43 -0
  50. package/out/src/storage/schema/entities/Certificate.d.ts.map +1 -0
  51. package/out/src/storage/schema/entities/Certificate.js +162 -0
  52. package/out/src/storage/schema/entities/Certificate.js.map +1 -0
  53. package/out/src/storage/schema/entities/CertificateField.d.ts +32 -0
  54. package/out/src/storage/schema/entities/CertificateField.d.ts.map +1 -0
  55. package/out/src/storage/schema/entities/CertificateField.js +114 -0
  56. package/out/src/storage/schema/entities/CertificateField.js.map +1 -0
  57. package/out/src/storage/schema/entities/Commission.d.ts +37 -0
  58. package/out/src/storage/schema/entities/Commission.d.ts.map +1 -0
  59. package/out/src/storage/schema/entities/Commission.js +130 -0
  60. package/out/src/storage/schema/entities/Commission.js.map +1 -0
  61. package/out/src/storage/schema/entities/Output.d.ts +67 -0
  62. package/out/src/storage/schema/entities/Output.d.ts.map +1 -0
  63. package/out/src/storage/schema/entities/Output.js +281 -0
  64. package/out/src/storage/schema/entities/Output.js.map +1 -0
  65. package/out/src/storage/schema/entities/OutputBasket.d.ts +35 -0
  66. package/out/src/storage/schema/entities/OutputBasket.d.ts.map +1 -0
  67. package/out/src/storage/schema/entities/OutputBasket.js +133 -0
  68. package/out/src/storage/schema/entities/OutputBasket.js.map +1 -0
  69. package/out/src/storage/schema/entities/OutputTag.d.ts +31 -0
  70. package/out/src/storage/schema/entities/OutputTag.d.ts.map +1 -0
  71. package/out/src/storage/schema/entities/OutputTag.js +104 -0
  72. package/out/src/storage/schema/entities/OutputTag.js.map +1 -0
  73. package/out/src/storage/schema/entities/OutputTagMap.d.ts +28 -0
  74. package/out/src/storage/schema/entities/OutputTagMap.d.ts.map +1 -0
  75. package/out/src/storage/schema/entities/OutputTagMap.js +101 -0
  76. package/out/src/storage/schema/entities/OutputTagMap.js.map +1 -0
  77. package/out/src/storage/schema/entities/ProvenTx.d.ts +84 -0
  78. package/out/src/storage/schema/entities/ProvenTx.d.ts.map +1 -0
  79. package/out/src/storage/schema/entities/ProvenTx.js +286 -0
  80. package/out/src/storage/schema/entities/ProvenTx.js.map +1 -0
  81. package/out/src/storage/schema/entities/ProvenTxReq.d.ts +135 -0
  82. package/out/src/storage/schema/entities/ProvenTxReq.d.ts.map +1 -0
  83. package/out/src/storage/schema/entities/ProvenTxReq.js +532 -0
  84. package/out/src/storage/schema/entities/ProvenTxReq.js.map +1 -0
  85. package/out/src/storage/schema/entities/SyncState.d.ts +66 -0
  86. package/out/src/storage/schema/entities/SyncState.d.ts.map +1 -0
  87. package/out/src/storage/schema/entities/SyncState.js +284 -0
  88. package/out/src/storage/schema/entities/SyncState.js.map +1 -0
  89. package/out/src/storage/schema/entities/Transaction.d.ts +67 -0
  90. package/out/src/storage/schema/entities/Transaction.d.ts.map +1 -0
  91. package/out/src/storage/schema/entities/Transaction.js +264 -0
  92. package/out/src/storage/schema/entities/Transaction.js.map +1 -0
  93. package/out/src/storage/schema/entities/TxLabel.d.ts +31 -0
  94. package/out/src/storage/schema/entities/TxLabel.d.ts.map +1 -0
  95. package/out/src/storage/schema/entities/TxLabel.js +104 -0
  96. package/out/src/storage/schema/entities/TxLabel.js.map +1 -0
  97. package/out/src/storage/schema/entities/TxLabelMap.d.ts +28 -0
  98. package/out/src/storage/schema/entities/TxLabelMap.d.ts.map +1 -0
  99. package/out/src/storage/schema/entities/TxLabelMap.js +103 -0
  100. package/out/src/storage/schema/entities/TxLabelMap.js.map +1 -0
  101. package/out/src/storage/schema/entities/User.d.ts +29 -0
  102. package/out/src/storage/schema/entities/User.d.ts.map +1 -0
  103. package/out/src/storage/schema/entities/User.js +100 -0
  104. package/out/src/storage/schema/entities/User.js.map +1 -0
  105. package/out/src/storage/schema/tables/Certificate.d.ts +20 -0
  106. package/out/src/storage/schema/tables/Certificate.d.ts.map +1 -0
  107. package/out/src/storage/schema/tables/Certificate.js +3 -0
  108. package/out/src/storage/schema/tables/Certificate.js.map +1 -0
  109. package/out/src/storage/schema/tables/CertificateField.d.ts +12 -0
  110. package/out/src/storage/schema/tables/CertificateField.d.ts.map +1 -0
  111. package/out/src/storage/schema/tables/CertificateField.js +3 -0
  112. package/out/src/storage/schema/tables/CertificateField.js.map +1 -0
  113. package/out/src/storage/schema/tables/Commission.d.ts +13 -0
  114. package/out/src/storage/schema/tables/Commission.d.ts.map +1 -0
  115. package/out/src/storage/schema/tables/Commission.js +3 -0
  116. package/out/src/storage/schema/tables/Commission.js.map +1 -0
  117. package/out/src/storage/schema/tables/MonitorEvent.d.ts +9 -0
  118. package/out/src/storage/schema/tables/MonitorEvent.d.ts.map +1 -0
  119. package/out/src/storage/schema/tables/MonitorEvent.js +3 -0
  120. package/out/src/storage/schema/tables/MonitorEvent.js.map +1 -0
  121. package/out/src/storage/schema/tables/Output.d.ts +36 -0
  122. package/out/src/storage/schema/tables/Output.d.ts.map +1 -0
  123. package/out/src/storage/schema/tables/Output.js +31 -0
  124. package/out/src/storage/schema/tables/Output.js.map +1 -0
  125. package/out/src/storage/schema/tables/OutputBasket.d.ts +12 -0
  126. package/out/src/storage/schema/tables/OutputBasket.d.ts.map +1 -0
  127. package/out/src/storage/schema/tables/OutputBasket.js +3 -0
  128. package/out/src/storage/schema/tables/OutputBasket.js.map +1 -0
  129. package/out/src/storage/schema/tables/OutputTag.d.ts +10 -0
  130. package/out/src/storage/schema/tables/OutputTag.d.ts.map +1 -0
  131. package/out/src/storage/schema/tables/OutputTag.js +3 -0
  132. package/out/src/storage/schema/tables/OutputTag.js.map +1 -0
  133. package/out/src/storage/schema/tables/OutputTagMap.d.ts +9 -0
  134. package/out/src/storage/schema/tables/OutputTagMap.d.ts.map +1 -0
  135. package/out/src/storage/schema/tables/OutputTagMap.js +3 -0
  136. package/out/src/storage/schema/tables/OutputTagMap.js.map +1 -0
  137. package/out/src/storage/schema/tables/ProvenTx.d.ts +14 -0
  138. package/out/src/storage/schema/tables/ProvenTx.d.ts.map +1 -0
  139. package/out/src/storage/schema/tables/ProvenTx.js +3 -0
  140. package/out/src/storage/schema/tables/ProvenTx.js.map +1 -0
  141. package/out/src/storage/schema/tables/ProvenTxReq.d.ts +64 -0
  142. package/out/src/storage/schema/tables/ProvenTxReq.d.ts.map +1 -0
  143. package/out/src/storage/schema/tables/ProvenTxReq.js +3 -0
  144. package/out/src/storage/schema/tables/ProvenTxReq.js.map +1 -0
  145. package/out/src/storage/schema/tables/SyncState.d.ts +18 -0
  146. package/out/src/storage/schema/tables/SyncState.d.ts.map +1 -0
  147. package/out/src/storage/schema/tables/SyncState.js +3 -0
  148. package/out/src/storage/schema/tables/SyncState.js.map +1 -0
  149. package/out/src/storage/schema/tables/Transaction.d.ts +37 -0
  150. package/out/src/storage/schema/tables/Transaction.d.ts.map +1 -0
  151. package/out/src/storage/schema/tables/Transaction.js +21 -0
  152. package/out/src/storage/schema/tables/Transaction.js.map +1 -0
  153. package/out/src/storage/schema/tables/TxLabel.d.ts +10 -0
  154. package/out/src/storage/schema/tables/TxLabel.d.ts.map +1 -0
  155. package/out/src/storage/schema/tables/TxLabel.js +3 -0
  156. package/out/src/storage/schema/tables/TxLabel.js.map +1 -0
  157. package/out/src/storage/schema/tables/TxLabelMap.d.ts +9 -0
  158. package/out/src/storage/schema/tables/TxLabelMap.d.ts.map +1 -0
  159. package/out/src/storage/schema/tables/TxLabelMap.js +3 -0
  160. package/out/src/storage/schema/tables/TxLabelMap.js.map +1 -0
  161. package/out/src/storage/schema/tables/User.d.ts +16 -0
  162. package/out/src/storage/schema/tables/User.d.ts.map +1 -0
  163. package/out/src/storage/schema/tables/User.js +3 -0
  164. package/out/src/storage/schema/tables/User.js.map +1 -0
  165. package/out/test/Wallet/action/abortAction.test.d.ts.map +1 -0
  166. package/out/test/{wallet → Wallet}/action/abortAction.test.js.map +1 -1
  167. package/out/test/Wallet/action/createAction.test.d.ts.map +1 -0
  168. package/out/test/{wallet → Wallet}/action/createAction.test.js.map +1 -1
  169. package/out/test/{wallet → Wallet}/action/createAction2.test.d.ts.map +1 -1
  170. package/out/test/{wallet → Wallet}/action/createAction2.test.js.map +1 -1
  171. package/out/test/Wallet/action/createActionToGenerateBeefs.man.test.d.ts.map +1 -0
  172. package/out/test/{wallet → Wallet}/action/createActionToGenerateBeefs.man.test.js.map +1 -1
  173. package/out/test/Wallet/action/internalizeAction.test.d.ts.map +1 -0
  174. package/out/test/{wallet → Wallet}/action/internalizeAction.test.js.map +1 -1
  175. package/out/test/Wallet/action/relinquishOutput.test.d.ts.map +1 -0
  176. package/out/test/{wallet → Wallet}/action/relinquishOutput.test.js.map +1 -1
  177. package/out/test/Wallet/construct/Wallet.constructor.test.d.ts.map +1 -0
  178. package/out/test/{wallet → Wallet}/construct/Wallet.constructor.test.js.map +1 -1
  179. package/out/test/Wallet/list/listActions.test.d.ts.map +1 -0
  180. package/out/test/{wallet → Wallet}/list/listActions.test.js.map +1 -1
  181. package/out/test/Wallet/list/listActions2.test.d.ts.map +1 -0
  182. package/out/test/{wallet → Wallet}/list/listActions2.test.js.map +1 -1
  183. package/out/test/Wallet/list/listCertificates.test.d.ts.map +1 -0
  184. package/out/test/{wallet → Wallet}/list/listCertificates.test.js.map +1 -1
  185. package/out/test/Wallet/list/listOutputs.test.d.ts.map +1 -0
  186. package/out/test/{wallet → Wallet}/list/listOutputs.test.js.map +1 -1
  187. package/out/test/Wallet/local/localWalletMethods.d.ts +28 -0
  188. package/out/test/Wallet/local/localWalletMethods.d.ts.map +1 -0
  189. package/out/test/Wallet/local/localWalletMethods.js +281 -0
  190. package/out/test/Wallet/local/localWalletMethods.js.map +1 -0
  191. package/out/test/Wallet/support/opers1.man.test.d.ts +2 -0
  192. package/out/test/Wallet/support/opers1.man.test.d.ts.map +1 -0
  193. package/out/test/Wallet/support/opers1.man.test.js +202 -0
  194. package/out/test/Wallet/support/opers1.man.test.js.map +1 -0
  195. package/out/test/Wallet/sync/Wallet.sync.test.d.ts.map +1 -0
  196. package/out/test/{wallet → Wallet}/sync/Wallet.sync.test.js.map +1 -1
  197. package/out/tsconfig.all.tsbuildinfo +1 -1
  198. package/package.json +1 -1
  199. package/src/CWIStyleWalletManager.ts +1 -1
  200. package/src/WalletPermissionsManager.ts +317 -26
  201. package/src/__tests/WalletPermissionsManager.initialization.test.ts +1 -1
  202. package/src/monitor/tasks/TaskCheckNoSends.ts +0 -1
  203. package/src/monitor/tasks/TaskNewHeader.ts +1 -1
  204. package/out/test/wallet/action/abortAction.test.d.ts.map +0 -1
  205. package/out/test/wallet/action/createAction.test.d.ts.map +0 -1
  206. package/out/test/wallet/action/createActionToGenerateBeefs.man.test.d.ts.map +0 -1
  207. package/out/test/wallet/action/internalizeAction.test.d.ts.map +0 -1
  208. package/out/test/wallet/action/relinquishOutput.test.d.ts.map +0 -1
  209. package/out/test/wallet/construct/Wallet.constructor.test.d.ts.map +0 -1
  210. package/out/test/wallet/list/listActions.test.d.ts.map +0 -1
  211. package/out/test/wallet/list/listActions2.test.d.ts.map +0 -1
  212. package/out/test/wallet/list/listCertificates.test.d.ts.map +0 -1
  213. package/out/test/wallet/list/listOutputs.test.d.ts.map +0 -1
  214. package/out/test/wallet/sync/Wallet.sync.test.d.ts.map +0 -1
  215. /package/out/test/{wallet → Wallet}/action/abortAction.test.d.ts +0 -0
  216. /package/out/test/{wallet → Wallet}/action/abortAction.test.js +0 -0
  217. /package/out/test/{wallet → Wallet}/action/createAction.test.d.ts +0 -0
  218. /package/out/test/{wallet → Wallet}/action/createAction.test.js +0 -0
  219. /package/out/test/{wallet → Wallet}/action/createAction2.test.d.ts +0 -0
  220. /package/out/test/{wallet → Wallet}/action/createAction2.test.js +0 -0
  221. /package/out/test/{wallet → Wallet}/action/createActionToGenerateBeefs.man.test.d.ts +0 -0
  222. /package/out/test/{wallet → Wallet}/action/createActionToGenerateBeefs.man.test.js +0 -0
  223. /package/out/test/{wallet → Wallet}/action/internalizeAction.test.d.ts +0 -0
  224. /package/out/test/{wallet → Wallet}/action/internalizeAction.test.js +0 -0
  225. /package/out/test/{wallet → Wallet}/action/relinquishOutput.test.d.ts +0 -0
  226. /package/out/test/{wallet → Wallet}/action/relinquishOutput.test.js +0 -0
  227. /package/out/test/{wallet → Wallet}/construct/Wallet.constructor.test.d.ts +0 -0
  228. /package/out/test/{wallet → Wallet}/construct/Wallet.constructor.test.js +0 -0
  229. /package/out/test/{wallet → Wallet}/list/listActions.test.d.ts +0 -0
  230. /package/out/test/{wallet → Wallet}/list/listActions.test.js +0 -0
  231. /package/out/test/{wallet → Wallet}/list/listActions2.test.d.ts +0 -0
  232. /package/out/test/{wallet → Wallet}/list/listActions2.test.js +0 -0
  233. /package/out/test/{wallet → Wallet}/list/listCertificates.test.d.ts +0 -0
  234. /package/out/test/{wallet → Wallet}/list/listCertificates.test.js +0 -0
  235. /package/out/test/{wallet → Wallet}/list/listOutputs.test.d.ts +0 -0
  236. /package/out/test/{wallet → Wallet}/list/listOutputs.test.js +0 -0
  237. /package/out/test/{wallet → Wallet}/sync/Wallet.sync.test.d.ts +0 -0
  238. /package/out/test/{wallet → Wallet}/sync/Wallet.sync.test.js +0 -0
  239. /package/test/{wallet → Wallet}/action/abortAction.test.ts +0 -0
  240. /package/test/{wallet → Wallet}/action/createAction.test.ts +0 -0
  241. /package/test/{wallet → Wallet}/action/createAction2.test.ts +0 -0
  242. /package/test/{wallet → Wallet}/action/createActionToGenerateBeefs.man.test.ts +0 -0
  243. /package/test/{wallet → Wallet}/action/internalizeAction.test.ts +0 -0
  244. /package/test/{wallet → Wallet}/action/relinquishOutput.test.ts +0 -0
  245. /package/test/{wallet → Wallet}/construct/Wallet.constructor.test.ts +0 -0
  246. /package/test/{wallet → Wallet}/list/listActions.test.ts +0 -0
  247. /package/test/{wallet → Wallet}/list/listActions2.test.ts +0 -0
  248. /package/test/{wallet → Wallet}/list/listCertificates.test.ts +0 -0
  249. /package/test/{wallet → Wallet}/list/listOutputs.test.ts +0 -0
  250. /package/test/{wallet → Wallet}/sync/Wallet.sync.test.ts +0 -0
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listActions = listActions;
4
+ const sdk_1 = require("@bsv/sdk");
5
+ const index_client_1 = require("../../index.client");
6
+ const sdk_2 = require("../../sdk");
7
+ const labelToSpecOp = {
8
+ [index_client_1.sdk.specOpNoSendActions]: {
9
+ name: 'noSendActions',
10
+ labelsToIntercept: ['abort'],
11
+ setStatusFilter: () => ['nosend'],
12
+ postProcess: async (s, auth, vargs, specOpLabels, txs) => {
13
+ if (specOpLabels.indexOf('abort') >= 0) {
14
+ for (const tx of txs) {
15
+ if (tx.status === 'nosend') {
16
+ await s.abortAction(auth, { reference: tx.reference });
17
+ tx.status = 'failed';
18
+ }
19
+ }
20
+ }
21
+ }
22
+ },
23
+ [index_client_1.sdk.specOpFailedActions]: {
24
+ name: 'failedActions',
25
+ labelsToIntercept: ['unfail'],
26
+ setStatusFilter: () => ['failed'],
27
+ postProcess: async (s, auth, vargs, specOpLabels, txs) => {
28
+ if (specOpLabels.indexOf('unfail') >= 0) {
29
+ for (const tx of txs) {
30
+ if (tx.status === 'failed') {
31
+ await s.updateTransaction(tx.transactionId, { status: 'unfail' });
32
+ // wallet wire does not support 'unfail' status, return as 'failed'.
33
+ }
34
+ }
35
+ }
36
+ }
37
+ }
38
+ };
39
+ async function listActions(storage, auth, vargs) {
40
+ const limit = vargs.limit;
41
+ const offset = vargs.offset;
42
+ const k = storage.toDb(undefined);
43
+ const r = {
44
+ totalActions: 0,
45
+ actions: []
46
+ };
47
+ let specOp = undefined;
48
+ let specOpLabels = [];
49
+ let labels = [];
50
+ for (const label of vargs.labels) {
51
+ if ((0, sdk_2.isListActionsSpecOp)(label)) {
52
+ specOp = labelToSpecOp[label];
53
+ }
54
+ else {
55
+ labels.push(label);
56
+ }
57
+ }
58
+ if ((specOp === null || specOp === void 0 ? void 0 : specOp.labelsToIntercept) !== undefined) {
59
+ const intercept = specOp.labelsToIntercept;
60
+ const labels2 = labels;
61
+ labels = [];
62
+ if (intercept.length === 0) {
63
+ specOpLabels = labels2;
64
+ }
65
+ for (const label of labels2) {
66
+ if (intercept.indexOf(label) >= 0) {
67
+ specOpLabels.push(label);
68
+ }
69
+ else {
70
+ labels.push(label);
71
+ }
72
+ }
73
+ }
74
+ let labelIds = [];
75
+ if (labels.length > 0) {
76
+ const q = k('tx_labels')
77
+ .where({
78
+ userId: auth.userId,
79
+ isDeleted: false
80
+ })
81
+ .whereNotNull('txLabelId')
82
+ .whereIn('label', labels)
83
+ .select('txLabelId');
84
+ const r = await q;
85
+ labelIds = r.map(r => r.txLabelId);
86
+ }
87
+ const isQueryModeAll = vargs.labelQueryMode === 'all';
88
+ if (isQueryModeAll && labelIds.length < labels.length)
89
+ // all the required labels don't exist, impossible to satisfy.
90
+ return r;
91
+ if (!isQueryModeAll && labelIds.length === 0 && labels.length > 0)
92
+ // any and only non-existing labels, impossible to satisfy.
93
+ return r;
94
+ const columns = [
95
+ 'transactionId',
96
+ 'reference',
97
+ 'txid',
98
+ 'satoshis',
99
+ 'status',
100
+ 'isOutgoing',
101
+ 'description',
102
+ 'version',
103
+ 'lockTime'
104
+ ];
105
+ const stati = (specOp === null || specOp === void 0 ? void 0 : specOp.setStatusFilter)
106
+ ? specOp.setStatusFilter()
107
+ : ['completed', 'unprocessed', 'sending', 'unproven', 'unsigned', 'nosend', 'nonfinal'];
108
+ const noLabels = labelIds.length === 0;
109
+ const makeWithLabelsQueries = () => {
110
+ const cteq = k.raw(`
111
+ SELECT ${columns.map(c => 't.' + c).join(',')},
112
+ (SELECT COUNT(*)
113
+ FROM tx_labels_map AS m
114
+ WHERE m.transactionId = t.transactionId
115
+ AND m.txLabelId IN (${labelIds.join(',')})
116
+ ) AS lc
117
+ FROM transactions AS t
118
+ WHERE t.userId = ${auth.userId}
119
+ AND t.status in (${stati.map(s => `'${s}'`).join(',')})
120
+ `);
121
+ const q = k.with('tlc', cteq);
122
+ q.from('tlc');
123
+ if (isQueryModeAll)
124
+ q.where('lc', labelIds.length);
125
+ else
126
+ q.where('lc', '>', 0);
127
+ const qcount = q.clone();
128
+ q.select(columns);
129
+ qcount.count('transactionId as total');
130
+ return { q, qcount };
131
+ };
132
+ const makeWithoutLabelsQueries = () => {
133
+ const q = k('transactions').where('userId', auth.userId).whereIn('status', stati);
134
+ const qcount = q.clone().count('transactionId as total');
135
+ return { q, qcount };
136
+ };
137
+ const { q, qcount } = noLabels ? makeWithoutLabelsQueries() : makeWithLabelsQueries();
138
+ q.limit(limit).offset(offset).orderBy('transactionId', 'asc');
139
+ const txs = await q;
140
+ if (specOp === null || specOp === void 0 ? void 0 : specOp.postProcess) {
141
+ await specOp.postProcess(storage, auth, vargs, specOpLabels, txs);
142
+ }
143
+ if (!limit || txs.length < limit)
144
+ r.totalActions = txs.length;
145
+ else {
146
+ const total = (0, index_client_1.verifyOne)(await qcount)['total'];
147
+ r.totalActions = Number(total);
148
+ }
149
+ for (const tx of txs) {
150
+ const wtx = {
151
+ txid: tx.txid || '',
152
+ satoshis: tx.satoshis || 0,
153
+ status: tx.status,
154
+ isOutgoing: !!tx.isOutgoing,
155
+ description: tx.description || '',
156
+ version: tx.version || 0,
157
+ lockTime: tx.lockTime || 0
158
+ };
159
+ r.actions.push(wtx);
160
+ }
161
+ if (vargs.includeLabels || vargs.includeInputs || vargs.includeOutputs) {
162
+ await Promise.all(txs.map(async (tx, i) => {
163
+ var _a, _b, _c;
164
+ //let i = -1
165
+ //for (const tx of txs) {
166
+ // i++
167
+ const action = r.actions[i];
168
+ if (vargs.includeLabels) {
169
+ action.labels = (await storage.getLabelsForTransactionId(tx.transactionId)).map(l => l.label);
170
+ }
171
+ if (vargs.includeOutputs) {
172
+ const outputs = await storage.findOutputs({
173
+ partial: { transactionId: tx.transactionId },
174
+ noScript: !vargs.includeOutputLockingScripts
175
+ });
176
+ action.outputs = [];
177
+ for (const o of outputs) {
178
+ await storage.extendOutput(o, true, true);
179
+ const wo = {
180
+ satoshis: o.satoshis || 0,
181
+ spendable: !!o.spendable,
182
+ tags: ((_a = o.tags) === null || _a === void 0 ? void 0 : _a.map(t => t.tag)) || [],
183
+ outputIndex: Number(o.vout),
184
+ outputDescription: o.outputDescription || '',
185
+ basket: ((_b = o.basket) === null || _b === void 0 ? void 0 : _b.name) || ''
186
+ };
187
+ if (vargs.includeOutputLockingScripts)
188
+ wo.lockingScript = (0, index_client_1.asString)(o.lockingScript || []);
189
+ action.outputs.push(wo);
190
+ }
191
+ }
192
+ if (vargs.includeInputs) {
193
+ const inputs = await storage.findOutputs({
194
+ partial: { spentBy: tx.transactionId },
195
+ noScript: !vargs.includeInputSourceLockingScripts
196
+ });
197
+ action.inputs = [];
198
+ if (inputs.length > 0) {
199
+ const rawTx = await storage.getRawTxOfKnownValidTransaction(tx.txid);
200
+ let bsvTx = undefined;
201
+ if (rawTx) {
202
+ bsvTx = sdk_1.Transaction.fromBinary(rawTx);
203
+ }
204
+ for (const o of inputs) {
205
+ await storage.extendOutput(o, true, true);
206
+ const input = bsvTx === null || bsvTx === void 0 ? void 0 : bsvTx.inputs.find(v => v.sourceTXID === o.txid && v.sourceOutputIndex === o.vout);
207
+ const wo = {
208
+ sourceOutpoint: `${o.txid}.${o.vout}`,
209
+ sourceSatoshis: o.satoshis || 0,
210
+ inputDescription: o.outputDescription || '',
211
+ sequenceNumber: (input === null || input === void 0 ? void 0 : input.sequence) || 0
212
+ };
213
+ action.inputs.push(wo);
214
+ if (vargs.includeInputSourceLockingScripts) {
215
+ wo.sourceLockingScript = (0, index_client_1.asString)(o.lockingScript || []);
216
+ }
217
+ if (vargs.includeInputUnlockingScripts) {
218
+ wo.unlockingScript = (_c = input === null || input === void 0 ? void 0 : input.unlockingScript) === null || _c === void 0 ? void 0 : _c.toHex();
219
+ }
220
+ }
221
+ }
222
+ }
223
+ //}
224
+ }));
225
+ }
226
+ return r;
227
+ }
228
+ //# sourceMappingURL=listActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listActions.js","sourceRoot":"","sources":["../../../../src/storage/methods/listActions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { ListOutputsResult, OriginatorDomainNameStringUnder250Bytes } from '@bsv/sdk';
2
+ import { sdk } from '../../index.client';
3
+ import { StorageKnex } from '../StorageKnex';
4
+ export declare function listOutputs(dsk: StorageKnex, auth: sdk.AuthId, vargs: sdk.ValidListOutputsArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<ListOutputsResult>;
5
+ //# sourceMappingURL=listOutputs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listOutputs.d.ts","sourceRoot":"","sources":["../../../../src/storage/methods/listOutputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,iBAAiB,EAAE,uCAAuC,EAAgB,MAAM,UAAU,CAAA;AAEzG,OAAO,EAAY,GAAG,EAAsC,MAAM,oBAAoB,CAAA;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AA2H5C,wBAAsB,WAAW,CAC/B,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,GAAG,CAAC,MAAM,EAChB,KAAK,EAAE,GAAG,CAAC,oBAAoB,EAC/B,UAAU,CAAC,EAAE,uCAAuC,GACnD,OAAO,CAAC,iBAAiB,CAAC,CA4O5B"}
@@ -0,0 +1,295 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listOutputs = listOutputs;
4
+ const sdk_1 = require("@bsv/sdk");
5
+ const index_client_1 = require("../../index.client");
6
+ const basketToSpecOp = {
7
+ [index_client_1.sdk.specOpWalletBalance]: {
8
+ name: 'totalOutputsIsWalletBalance',
9
+ useBasket: 'default',
10
+ ignoreLimit: true,
11
+ resultFromOutputs: async (s, auth, vargs, specOpTags, outputs) => {
12
+ let totalOutputs = 0;
13
+ for (const o of outputs)
14
+ totalOutputs += o.satoshis;
15
+ return { totalOutputs, outputs: [] };
16
+ }
17
+ },
18
+ [index_client_1.sdk.specOpInvalidChange]: {
19
+ name: 'invalidChangeOutputs',
20
+ useBasket: 'default',
21
+ ignoreLimit: true,
22
+ includeOutputScripts: true,
23
+ tagsToIntercept: ['release', 'all'],
24
+ filterOutputs: async (s, auth, vargs, specOpTags, outputs) => {
25
+ const filteredOutputs = [];
26
+ const services = s.getServices();
27
+ for (const o of outputs) {
28
+ await s.validateOutputScript(o);
29
+ let ok = false;
30
+ let r;
31
+ if (o.lockingScript && o.lockingScript.length > 0) {
32
+ const hash = services.hashOutputScript((0, index_client_1.asString)(o.lockingScript));
33
+ r = await services.getUtxoStatus(hash, undefined, `${o.txid}.${o.vout}`);
34
+ ok = r.isUtxo;
35
+ }
36
+ else {
37
+ ok = undefined;
38
+ }
39
+ if (ok === false) {
40
+ filteredOutputs.push(o);
41
+ }
42
+ }
43
+ if (specOpTags.indexOf('release') >= 0) {
44
+ for (const o of filteredOutputs) {
45
+ await s.updateOutput(o.outputId, { spendable: false });
46
+ o.spendable = false;
47
+ }
48
+ }
49
+ return filteredOutputs;
50
+ }
51
+ },
52
+ [index_client_1.sdk.specOpSetWalletChangeParams]: {
53
+ name: 'setWalletChangeParams',
54
+ tagsParamsCount: 2,
55
+ resultFromTags: async (s, auth, vargs, specOpTags) => {
56
+ if (specOpTags.length !== 2)
57
+ throw new index_client_1.sdk.WERR_INVALID_PARAMETER('numberOfDesiredUTXOs and minimumDesiredUTXOValue', 'valid');
58
+ const numberOfDesiredUTXOs = (0, index_client_1.verifyInteger)(Number(specOpTags[0]));
59
+ const minimumDesiredUTXOValue = (0, index_client_1.verifyInteger)(Number(specOpTags[1]));
60
+ const basket = (0, index_client_1.verifyOne)(await s.findOutputBaskets({
61
+ partial: { userId: (0, index_client_1.verifyId)(auth.userId), name: 'default' }
62
+ }));
63
+ await s.updateOutputBasket(basket.basketId, {
64
+ numberOfDesiredUTXOs,
65
+ minimumDesiredUTXOValue
66
+ });
67
+ return { totalOutputs: 0, outputs: [] };
68
+ }
69
+ }
70
+ };
71
+ async function listOutputs(dsk, auth, vargs, originator) {
72
+ const trx = undefined;
73
+ const userId = (0, index_client_1.verifyId)(auth.userId);
74
+ const limit = vargs.limit;
75
+ const offset = vargs.offset;
76
+ const k = dsk.toDb(trx);
77
+ const r = {
78
+ totalOutputs: 0,
79
+ outputs: []
80
+ };
81
+ /*
82
+ ListOutputsArgs {
83
+ basket: BasketStringUnder300Bytes
84
+
85
+ tags?: OutputTagStringUnder300Bytes[]
86
+ tagQueryMode?: 'all' | 'any' // default any
87
+
88
+ limit?: PositiveIntegerDefault10Max10000
89
+ offset?: PositiveIntegerOrZero
90
+ }
91
+ */
92
+ let specOp = undefined;
93
+ let basketId = undefined;
94
+ const basketsById = {};
95
+ if (vargs.basket) {
96
+ let b = vargs.basket;
97
+ specOp = basketToSpecOp[b];
98
+ b = specOp ? (specOp.useBasket ? specOp.useBasket : '') : b;
99
+ if (b) {
100
+ const baskets = await dsk.findOutputBaskets({
101
+ partial: { userId, name: b },
102
+ trx
103
+ });
104
+ if (baskets.length !== 1) {
105
+ // If basket does not exist, result is no outputs.
106
+ return r;
107
+ }
108
+ const basket = baskets[0];
109
+ basketId = basket.basketId;
110
+ basketsById[basketId] = basket;
111
+ }
112
+ }
113
+ let tagIds = [];
114
+ let tags = [...vargs.tags];
115
+ const specOpTags = [];
116
+ if (specOp && specOp.tagsParamsCount) {
117
+ specOpTags.push(...tags.splice(0, Math.min(tags.length, specOp.tagsParamsCount)));
118
+ }
119
+ if (specOp && specOp.tagsToIntercept) {
120
+ // Pull out tags used by current specOp
121
+ const ts = tags;
122
+ tags = [];
123
+ for (const t of ts) {
124
+ if (specOp.tagsToIntercept.length === 0 || specOp.tagsToIntercept.indexOf(t) >= 0) {
125
+ specOpTags.push(t);
126
+ if (t === 'all') {
127
+ basketId = undefined;
128
+ }
129
+ }
130
+ else {
131
+ tags.push(t);
132
+ }
133
+ }
134
+ }
135
+ if (specOp && specOp.resultFromTags) {
136
+ const r = await specOp.resultFromTags(dsk, auth, vargs, specOpTags);
137
+ return r;
138
+ }
139
+ if (tags && tags.length > 0) {
140
+ const q = k('output_tags')
141
+ .where({
142
+ userId: userId,
143
+ isDeleted: false
144
+ })
145
+ .whereNotNull('outputTagId')
146
+ .whereIn('tag', tags)
147
+ .select('outputTagId');
148
+ const r = await q;
149
+ tagIds = r.map(r => r.outputTagId);
150
+ }
151
+ const isQueryModeAll = vargs.tagQueryMode === 'all';
152
+ if (isQueryModeAll && tagIds.length < tags.length)
153
+ return r;
154
+ const columns = [
155
+ 'outputId',
156
+ 'transactionId',
157
+ 'basketId',
158
+ 'spendable',
159
+ 'txid',
160
+ 'vout',
161
+ 'satoshis',
162
+ 'lockingScript',
163
+ 'customInstructions',
164
+ 'outputDescription',
165
+ 'spendingDescription',
166
+ 'scriptLength',
167
+ 'scriptOffset'
168
+ ];
169
+ const noTags = tagIds.length === 0;
170
+ const includeSpent = false;
171
+ const txStatusOk = `(select status as tstatus from transactions where transactions.transactionId = outputs.transactionId) in ('completed', 'unproven', 'nosend')`;
172
+ const txStatusOkCteq = `(select status as tstatus from transactions where transactions.transactionId = o.transactionId) in ('completed', 'unproven', 'nosend')`;
173
+ const makeWithTagsQueries = () => {
174
+ let cteqOptions = '';
175
+ if (basketId)
176
+ cteqOptions += ` AND o.basketId = ${basketId}`;
177
+ if (!includeSpent)
178
+ cteqOptions += ` AND o.spendable`;
179
+ const cteq = k.raw(`
180
+ SELECT ${columns.map(c => 'o.' + c).join(',')},
181
+ (SELECT COUNT(*)
182
+ FROM output_tags_map AS m
183
+ WHERE m.OutputId = o.OutputId
184
+ AND m.outputTagId IN (${tagIds.join(',')})
185
+ ) AS tc
186
+ FROM outputs AS o
187
+ WHERE o.userId = ${userId} ${cteqOptions} AND ${txStatusOkCteq}
188
+ `);
189
+ const q = k.with('otc', cteq);
190
+ q.from('otc');
191
+ if (isQueryModeAll)
192
+ q.where('tc', tagIds.length);
193
+ else
194
+ q.where('tc', '>', 0);
195
+ const qcount = q.clone();
196
+ q.select(columns);
197
+ qcount.count('outputId as total');
198
+ return { q, qcount };
199
+ };
200
+ const makeWithoutTagsQueries = () => {
201
+ const where = { userId };
202
+ if (basketId)
203
+ where.basketId = basketId;
204
+ if (!includeSpent)
205
+ where.spendable = true;
206
+ const q = k('outputs').where(where).whereRaw(txStatusOk);
207
+ const qcount = q.clone().count('outputId as total');
208
+ return { q, qcount };
209
+ };
210
+ const { q, qcount } = noTags ? makeWithoutTagsQueries() : makeWithTagsQueries();
211
+ // Sort order when limit and offset are possible must be ascending for determinism.
212
+ if (!specOp || !specOp.ignoreLimit)
213
+ q.limit(limit).offset(offset);
214
+ q.orderBy('outputId', 'asc');
215
+ let outputs = await q;
216
+ if (specOp) {
217
+ if (specOp.filterOutputs)
218
+ outputs = await specOp.filterOutputs(dsk, auth, vargs, specOpTags, outputs);
219
+ if (specOp.resultFromOutputs) {
220
+ const r = await specOp.resultFromOutputs(dsk, auth, vargs, specOpTags, outputs);
221
+ return r;
222
+ }
223
+ }
224
+ if (!limit || outputs.length < limit)
225
+ r.totalOutputs = outputs.length;
226
+ else {
227
+ const total = (0, index_client_1.verifyOne)(await qcount)['total'];
228
+ r.totalOutputs = Number(total);
229
+ }
230
+ /*
231
+ ListOutputsArgs {
232
+ include?: 'locking scripts' | 'entire transactions'
233
+ includeCustomInstructions?: BooleanDefaultFalse
234
+ includeTags?: BooleanDefaultFalse
235
+ includeLabels?: BooleanDefaultFalse
236
+ }
237
+
238
+ ListOutputsResult {
239
+ totalOutputs: PositiveIntegerOrZero
240
+ BEEF?: BEEF
241
+ outputs: Array<WalletOutput>
242
+ }
243
+
244
+ WalletOutput {
245
+ satoshis: SatoshiValue
246
+ spendable: boolean
247
+ outpoint: OutpointString
248
+
249
+ customInstructions?: string
250
+ lockingScript?: HexString
251
+ tags?: OutputTagStringUnder300Bytes[]
252
+ labels?: LabelStringUnder300Bytes[]
253
+ }
254
+ */
255
+ const labelsByTxid = {};
256
+ const beef = new sdk_1.Beef();
257
+ for (const o of outputs) {
258
+ const wo = {
259
+ satoshis: Number(o.satoshis),
260
+ spendable: !!o.spendable,
261
+ outpoint: `${o.txid}.${o.vout}`
262
+ };
263
+ r.outputs.push(wo);
264
+ //if (vargs.includeBasket && o.basketId) {
265
+ // if (!basketsById[o.basketId]) {
266
+ // basketsById[o.basketId] = verifyTruthy(await dsk.findOutputBasketId(o.basketId!, trx))
267
+ // }
268
+ // wo.basket = basketsById[o.basketId].name
269
+ //}
270
+ if (vargs.includeCustomInstructions && o.customInstructions)
271
+ wo.customInstructions = o.customInstructions;
272
+ if (vargs.includeLabels && o.txid) {
273
+ if (labelsByTxid[o.txid] === undefined) {
274
+ labelsByTxid[o.txid] = (await dsk.getLabelsForTransactionId(o.transactionId, trx)).map(l => l.label);
275
+ }
276
+ wo.labels = labelsByTxid[o.txid];
277
+ }
278
+ if (vargs.includeTags) {
279
+ wo.tags = (await dsk.getTagsForOutputId(o.outputId, trx)).map(t => t.tag);
280
+ }
281
+ if (vargs.includeLockingScripts) {
282
+ await dsk.validateOutputScript(o, trx);
283
+ if (o.lockingScript)
284
+ wo.lockingScript = (0, index_client_1.asString)(o.lockingScript);
285
+ }
286
+ if (vargs.includeTransactions && !beef.findTxid(o.txid)) {
287
+ await dsk.getValidBeefForKnownTxid(o.txid, beef, undefined, vargs.knownTxids, trx);
288
+ }
289
+ }
290
+ if (vargs.includeTransactions) {
291
+ r.BEEF = beef.toBinary();
292
+ }
293
+ return r;
294
+ }
295
+ //# sourceMappingURL=listOutputs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listOutputs.js","sourceRoot":"","sources":["../../../../src/storage/methods/listOutputs.ts"],"names":[],"mappings":";;AA8HA,kCAiPC;AA/WD,kCAAyG;AAEzG,qDAAsF;AAyCtF,MAAM,cAAc,GAAsC;IACxD,CAAC,kBAAG,CAAC,mBAAmB,CAAC,EAAE;QACzB,IAAI,EAAE,6BAA6B;QACnC,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,IAAI;QACjB,iBAAiB,EAAE,KAAK,EACtB,CAAc,EACd,IAAgB,EAChB,KAA2B,EAC3B,UAAoB,EACpB,OAAsB,EACM,EAAE;YAC9B,IAAI,YAAY,GAAG,CAAC,CAAA;YACpB,KAAK,MAAM,CAAC,IAAI,OAAO;gBAAE,YAAY,IAAI,CAAC,CAAC,QAAQ,CAAA;YACnD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;QACtC,CAAC;KACF;IACD,CAAC,kBAAG,CAAC,mBAAmB,CAAC,EAAE;QACzB,IAAI,EAAE,sBAAsB;QAC5B,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,IAAI;QACjB,oBAAoB,EAAE,IAAI;QAC1B,eAAe,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;QACnC,aAAa,EAAE,KAAK,EAClB,CAAc,EACd,IAAgB,EAChB,KAA2B,EAC3B,UAAoB,EACpB,OAAsB,EACE,EAAE;YAC1B,MAAM,eAAe,GAAkB,EAAE,CAAA;YACzC,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;YAChC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAA;gBAC/B,IAAI,EAAE,GAAwB,KAAK,CAAA;gBACnC,IAAI,CAA0B,CAAA;gBAC9B,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAA,uBAAQ,EAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAA;oBACjE,CAAC,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;oBACxE,EAAE,GAAG,CAAC,CAAC,MAAM,CAAA;gBACf,CAAC;qBAAM,CAAC;oBACN,EAAE,GAAG,SAAS,CAAA;gBAChB,CAAC;gBACD,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;oBACjB,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACzB,CAAC;YACH,CAAC;YACD,IAAI,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;oBAChC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;oBACtD,CAAC,CAAC,SAAS,GAAG,KAAK,CAAA;gBACrB,CAAC;YACH,CAAC;YACD,OAAO,eAAe,CAAA;QACxB,CAAC;KACF;IACD,CAAC,kBAAG,CAAC,2BAA2B,CAAC,EAAE;QACjC,IAAI,EAAE,uBAAuB;QAC7B,eAAe,EAAE,CAAC;QAClB,cAAc,EAAE,KAAK,EACnB,CAAc,EACd,IAAgB,EAChB,KAA2B,EAC3B,UAAoB,EACQ,EAAE;YAC9B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBACzB,MAAM,IAAI,kBAAG,CAAC,sBAAsB,CAAC,kDAAkD,EAAE,OAAO,CAAC,CAAA;YACnG,MAAM,oBAAoB,GAAW,IAAA,4BAAa,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACzE,MAAM,uBAAuB,GAAW,IAAA,4BAAa,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC5E,MAAM,MAAM,GAAG,IAAA,wBAAS,EACtB,MAAM,CAAC,CAAC,iBAAiB,CAAC;gBACxB,OAAO,EAAE,EAAE,MAAM,EAAE,IAAA,uBAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;aAC5D,CAAC,CACH,CAAA;YACD,MAAM,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC1C,oBAAoB;gBACpB,uBAAuB;aACxB,CAAC,CAAA;YACF,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;QACzC,CAAC;KACF;CACF,CAAA;AAEM,KAAK,UAAU,WAAW,CAC/B,GAAgB,EAChB,IAAgB,EAChB,KAA+B,EAC/B,UAAoD;IAEpD,MAAM,GAAG,GAA6B,SAAS,CAAA;IAC/C,MAAM,MAAM,GAAG,IAAA,uBAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;IACzB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAE3B,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAEvB,MAAM,CAAC,GAAsB;QAC3B,YAAY,EAAE,CAAC;QACf,OAAO,EAAE,EAAE;KACZ,CAAA;IAED;;;;;;;;;;QAUI;IAEJ,IAAI,MAAM,GAAkC,SAAS,CAAA;IACrD,IAAI,QAAQ,GAAuB,SAAS,CAAA;IAC5C,MAAM,WAAW,GAAsC,EAAE,CAAA;IACzD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;QACpB,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;QAC1B,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3D,IAAI,CAAC,EAAE,CAAC;YACN,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC;gBAC1C,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE;gBAC5B,GAAG;aACJ,CAAC,CAAA;YACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,kDAAkD;gBAClD,OAAO,CAAC,CAAA;YACV,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YACzB,QAAQ,GAAG,MAAM,CAAC,QAAS,CAAA;YAC3B,WAAW,CAAC,QAAS,CAAC,GAAG,MAAM,CAAA;QACjC,CAAC;IACH,CAAC;IAED,IAAI,MAAM,GAAa,EAAE,CAAA;IACzB,IAAI,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;IAC1B,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,IAAI,MAAM,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QACrC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;IACnF,CAAC;IACD,IAAI,MAAM,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QACrC,uCAAuC;QACvC,MAAM,EAAE,GAAG,IAAI,CAAA;QACf,IAAI,GAAG,EAAE,CAAA;QACT,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClF,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAClB,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;oBAChB,QAAQ,GAAG,SAAS,CAAA;gBACtB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;QACnE,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,CAAiB,aAAa,CAAC;aACvC,KAAK,CAAC;YACL,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,KAAK;SACjB,CAAC;aACD,YAAY,CAAC,aAAa,CAAC;aAC3B,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;aACpB,MAAM,CAAC,aAAa,CAAC,CAAA;QACxB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAA;QACjB,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAY,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY,KAAK,KAAK,CAAA;IACnD,IAAI,cAAc,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,CAAA;IAE3D,MAAM,OAAO,GAAa;QACxB,UAAU;QACV,eAAe;QACf,UAAU;QACV,WAAW;QACX,MAAM;QACN,MAAM;QACN,UAAU;QACV,eAAe;QACf,oBAAoB;QACpB,mBAAmB;QACnB,qBAAqB;QACrB,cAAc;QACd,cAAc;KACf,CAAA;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAA;IAClC,MAAM,YAAY,GAAG,KAAK,CAAA;IAE1B,MAAM,UAAU,GAAG,8IAA8I,CAAA;IACjK,MAAM,cAAc,GAAG,wIAAwI,CAAA;IAE/J,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,IAAI,WAAW,GAAG,EAAE,CAAA;QACpB,IAAI,QAAQ;YAAE,WAAW,IAAI,qBAAqB,QAAQ,EAAE,CAAA;QAC5D,IAAI,CAAC,YAAY;YAAE,WAAW,IAAI,kBAAkB,CAAA;QACpD,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;qBACF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;;;;4CAIb,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;;;+BAG7B,MAAM,IAAI,WAAW,QAAQ,cAAc;aAC7D,CAAC,CAAA;QAEV,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACb,IAAI,cAAc;YAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;;YAC3C,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;QAC1B,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CAAA;QACxB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACjB,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;QACjC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,CAAC,CAAA;IAED,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAClC,MAAM,KAAK,GAAyB,EAAE,MAAM,EAAE,CAAA;QAC9C,IAAI,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACvC,IAAI,CAAC,YAAY;YAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAA;QACzC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QACxD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;QACnD,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,CAAC,CAAA;IAED,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAA;IAE/E,mFAAmF;IACnF,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW;QAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAEjE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;IAE5B,IAAI,OAAO,GAAkB,MAAM,CAAC,CAAA;IAEpC,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,MAAM,CAAC,aAAa;YAAE,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;QACrG,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;YAC/E,OAAO,CAAC,CAAA;QACV,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK;QAAE,CAAC,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAA;SAChE,CAAC;QACJ,MAAM,KAAK,GAAG,IAAA,wBAAS,EAAC,MAAM,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;QAC9C,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;QAwBI;IAEJ,MAAM,YAAY,GAA6B,EAAE,CAAA;IAEjD,MAAM,IAAI,GAAG,IAAI,UAAI,EAAE,CAAA;IAEvB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,EAAE,GAAiB;YACvB,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC5B,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YACxB,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE;SAChC,CAAA;QACD,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAClB,0CAA0C;QAC1C,qCAAqC;QACrC,gGAAgG;QAChG,OAAO;QACP,8CAA8C;QAC9C,GAAG;QACH,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,CAAC,kBAAkB;YAAE,EAAE,CAAC,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,CAAA;QACzG,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACvC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACtG,CAAC;YACD,EAAE,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAC3E,CAAC;QACD,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;YAChC,MAAM,GAAG,CAAC,oBAAoB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YACtC,IAAI,CAAC,CAAC,aAAa;gBAAE,EAAE,CAAC,aAAa,GAAG,IAAA,uBAAQ,EAAC,CAAC,CAAC,aAAa,CAAC,CAAA;QACnE,CAAC;QACD,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAK,CAAC,EAAE,CAAC;YACzD,MAAM,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;QACrF,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAC9B,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;IAC1B,CAAC;IAED,OAAO,CAAC,CAAA;AACV,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { sdk, TableCertificate } from '../../../index.client';
2
+ import { EntityBase, EntityStorage, SyncMap } from '.';
3
+ export declare class EntityCertificate extends EntityBase<TableCertificate> {
4
+ constructor(api?: TableCertificate);
5
+ updateApi(): void;
6
+ get certificateId(): number;
7
+ set certificateId(v: number);
8
+ get created_at(): Date;
9
+ set created_at(v: Date);
10
+ get updated_at(): Date;
11
+ set updated_at(v: Date);
12
+ get userId(): number;
13
+ set userId(v: number);
14
+ get type(): string;
15
+ set type(v: string);
16
+ get subject(): string;
17
+ set subject(v: string);
18
+ get verifier(): string | undefined;
19
+ set verifier(v: string | undefined);
20
+ get serialNumber(): string;
21
+ set serialNumber(v: string);
22
+ get certifier(): string;
23
+ set certifier(v: string);
24
+ get revocationOutpoint(): string;
25
+ set revocationOutpoint(v: string);
26
+ get signature(): string;
27
+ set signature(v: string);
28
+ get isDeleted(): boolean;
29
+ set isDeleted(v: boolean);
30
+ get id(): number;
31
+ set id(v: number);
32
+ get entityName(): string;
33
+ get entityTable(): string;
34
+ equals(ei: TableCertificate, syncMap?: SyncMap): boolean;
35
+ static mergeFind(storage: EntityStorage, userId: number, ei: TableCertificate, syncMap: SyncMap, trx?: sdk.TrxToken): Promise<{
36
+ found: boolean;
37
+ eo: EntityCertificate;
38
+ eiId: number;
39
+ }>;
40
+ mergeNew(storage: EntityStorage, userId: number, syncMap: SyncMap, trx?: sdk.TrxToken): Promise<void>;
41
+ mergeExisting(storage: EntityStorage, since: Date | undefined, ei: TableCertificate, syncMap: SyncMap, trx?: sdk.TrxToken): Promise<boolean>;
42
+ }
43
+ //# sourceMappingURL=Certificate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Certificate.d.ts","sourceRoot":"","sources":["../../../../../src/storage/schema/entities/Certificate.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,GAAG,EACH,gBAAgB,EAGjB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,GAAG,CAAA;AAEtD,qBAAa,iBAAkB,SAAQ,UAAU,CAAC,gBAAgB,CAAC;gBACrD,GAAG,CAAC,EAAE,gBAAgB;IAoBzB,SAAS,IAAI,IAAI;IAI1B,IAAI,aAAa,IAGI,MAAM,CAD1B;IACD,IAAI,aAAa,CAAC,CAAC,EAAE,MAAM,EAE1B;IACD,IAAI,UAAU,IAGI,IAAI,CADrB;IACD,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAErB;IACD,IAAI,UAAU,IAGI,IAAI,CADrB;IACD,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAErB;IACD,IAAI,MAAM,IAGI,MAAM,CADnB;IACD,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,EAEnB;IACD,IAAI,IAAI,IAGI,MAAM,CADjB;IACD,IAAI,IAAI,CAAC,CAAC,EAAE,MAAM,EAEjB;IACD,IAAI,OAAO,IAGI,MAAM,CADpB;IACD,IAAI,OAAO,CAAC,CAAC,EAAE,MAAM,EAEpB;IACD,IAAI,QAAQ,IAGI,MAAM,GAAG,SAAS,CADjC;IACD,IAAI,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAEjC;IACD,IAAI,YAAY,IAGI,MAAM,CADzB;IACD,IAAI,YAAY,CAAC,CAAC,EAAE,MAAM,EAEzB;IACD,IAAI,SAAS,IAGI,MAAM,CADtB;IACD,IAAI,SAAS,CAAC,CAAC,EAAE,MAAM,EAEtB;IACD,IAAI,kBAAkB,IAGI,MAAM,CAD/B;IACD,IAAI,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAE/B;IACD,IAAI,SAAS,IAGI,MAAM,CADtB;IACD,IAAI,SAAS,CAAC,CAAC,EAAE,MAAM,EAEtB;IACD,IAAI,SAAS,IAGI,OAAO,CADvB;IACD,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,EAEvB;IAKD,IAAa,EAAE,IAAI,MAAM,CAExB;IACD,IAAa,EAAE,CAAC,CAAC,EAAE,MAAM,EAExB;IACD,IAAa,UAAU,IAAI,MAAM,CAEhC;IACD,IAAa,WAAW,IAAI,MAAM,CAEjC;IAEQ,MAAM,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO;WAepD,SAAS,CACpB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,gBAAgB,EACpB,OAAO,EAAE,OAAO,EAChB,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,GACjB,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,EAAE,EAAE,iBAAiB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAkBpD,QAAQ,CACrB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,GACjB,OAAO,CAAC,IAAI,CAAC;IAMD,aAAa,CAC1B,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,IAAI,GAAG,SAAS,EACvB,EAAE,EAAE,gBAAgB,EACpB,OAAO,EAAE,OAAO,EAChB,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,GACjB,OAAO,CAAC,OAAO,CAAC;CAgBpB"}