@bsv/wallet-toolbox-client 1.2.33 → 1.2.35

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 (111) hide show
  1. package/out/src/Wallet.d.ts +4 -1
  2. package/out/src/Wallet.d.ts.map +1 -1
  3. package/out/src/Wallet.js +111 -51
  4. package/out/src/Wallet.js.map +1 -1
  5. package/out/src/index.client.d.ts +5 -6
  6. package/out/src/index.client.d.ts.map +1 -1
  7. package/out/src/index.client.js +5 -6
  8. package/out/src/index.client.js.map +1 -1
  9. package/out/src/monitor/Monitor.d.ts +4 -2
  10. package/out/src/monitor/Monitor.d.ts.map +1 -1
  11. package/out/src/monitor/Monitor.js +45 -13
  12. package/out/src/monitor/Monitor.js.map +1 -1
  13. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +1 -1
  14. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
  15. package/out/src/monitor/tasks/TaskCheckForProofs.js +6 -4
  16. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  17. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  18. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  19. package/out/src/monitor/tasks/TaskNewHeader.d.ts +3 -3
  20. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
  21. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  22. package/out/src/monitor/tasks/TaskPurge.d.ts +2 -2
  23. package/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -1
  24. package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -1
  25. package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -1
  26. package/out/src/sdk/WalletServices.interfaces.d.ts +19 -18
  27. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  28. package/out/src/sdk/WalletSigner.interfaces.d.ts +2 -2
  29. package/out/src/sdk/WalletSigner.interfaces.d.ts.map +1 -1
  30. package/out/src/sdk/WalletStorage.interfaces.d.ts +57 -53
  31. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  32. package/out/src/sdk/types.d.ts +12 -0
  33. package/out/src/sdk/types.d.ts.map +1 -1
  34. package/out/src/sdk/types.js +16 -1
  35. package/out/src/sdk/types.js.map +1 -1
  36. package/out/src/services/index.d.ts +2 -0
  37. package/out/src/services/index.d.ts.map +1 -0
  38. package/out/src/{storage/sync → services}/index.js +1 -1
  39. package/out/src/services/index.js.map +1 -0
  40. package/out/src/storage/WalletStorageManager.d.ts +3 -1
  41. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  42. package/out/src/storage/WalletStorageManager.js +58 -23
  43. package/out/src/storage/WalletStorageManager.js.map +1 -1
  44. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +1 -1
  45. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
  46. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +40 -6
  47. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  48. package/package.json +2 -2
  49. package/out/src/Setup.d.ts +0 -329
  50. package/out/src/Setup.d.ts.map +0 -1
  51. package/out/src/Setup.js +0 -394
  52. package/out/src/Setup.js.map +0 -1
  53. package/out/src/index.all.d.ts +0 -19
  54. package/out/src/index.all.d.ts.map +0 -1
  55. package/out/src/index.all.js +0 -58
  56. package/out/src/index.all.js.map +0 -1
  57. package/out/src/monitor/MonitorDaemon.d.ts +0 -30
  58. package/out/src/monitor/MonitorDaemon.d.ts.map +0 -1
  59. package/out/src/monitor/MonitorDaemon.js +0 -134
  60. package/out/src/monitor/MonitorDaemon.js.map +0 -1
  61. package/out/src/monitor/tasks/TaskUnFail.d.ts +0 -40
  62. package/out/src/monitor/tasks/TaskUnFail.d.ts.map +0 -1
  63. package/out/src/monitor/tasks/TaskUnFail.js +0 -145
  64. package/out/src/monitor/tasks/TaskUnFail.js.map +0 -1
  65. package/out/src/storage/StorageKnex.d.ts +0 -176
  66. package/out/src/storage/StorageKnex.d.ts.map +0 -1
  67. package/out/src/storage/StorageKnex.js +0 -1022
  68. package/out/src/storage/StorageKnex.js.map +0 -1
  69. package/out/src/storage/index.all.d.ts +0 -11
  70. package/out/src/storage/index.all.d.ts.map +0 -1
  71. package/out/src/storage/index.all.js +0 -50
  72. package/out/src/storage/index.all.js.map +0 -1
  73. package/out/src/storage/methods/listActions.d.ts +0 -5
  74. package/out/src/storage/methods/listActions.d.ts.map +0 -1
  75. package/out/src/storage/methods/listActions.js +0 -228
  76. package/out/src/storage/methods/listActions.js.map +0 -1
  77. package/out/src/storage/methods/listOutputs.d.ts +0 -5
  78. package/out/src/storage/methods/listOutputs.d.ts.map +0 -1
  79. package/out/src/storage/methods/listOutputs.js +0 -295
  80. package/out/src/storage/methods/listOutputs.js.map +0 -1
  81. package/out/src/storage/methods/purgeData.d.ts +0 -4
  82. package/out/src/storage/methods/purgeData.d.ts.map +0 -1
  83. package/out/src/storage/methods/purgeData.js +0 -207
  84. package/out/src/storage/methods/purgeData.js.map +0 -1
  85. package/out/src/storage/methods/reviewStatus.d.ts +0 -9
  86. package/out/src/storage/methods/reviewStatus.d.ts.map +0 -1
  87. package/out/src/storage/methods/reviewStatus.js +0 -73
  88. package/out/src/storage/methods/reviewStatus.js.map +0 -1
  89. package/out/src/storage/remoting/StorageServer.d.ts +0 -39
  90. package/out/src/storage/remoting/StorageServer.d.ts.map +0 -1
  91. package/out/src/storage/remoting/StorageServer.js +0 -220
  92. package/out/src/storage/remoting/StorageServer.js.map +0 -1
  93. package/out/src/storage/schema/KnexMigrations.d.ts +0 -39
  94. package/out/src/storage/schema/KnexMigrations.d.ts.map +0 -1
  95. package/out/src/storage/schema/KnexMigrations.js +0 -395
  96. package/out/src/storage/schema/KnexMigrations.js.map +0 -1
  97. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts +0 -71
  98. package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +0 -1
  99. package/out/src/storage/sync/StorageMySQLDojoReader.js +0 -609
  100. package/out/src/storage/sync/StorageMySQLDojoReader.js.map +0 -1
  101. package/out/src/storage/sync/index.d.ts +0 -2
  102. package/out/src/storage/sync/index.d.ts.map +0 -1
  103. package/out/src/storage/sync/index.js.map +0 -1
  104. package/out/src/utility/index.all.d.ts +0 -7
  105. package/out/src/utility/index.all.d.ts.map +0 -1
  106. package/out/src/utility/index.all.js +0 -23
  107. package/out/src/utility/index.all.js.map +0 -1
  108. package/out/src/utility/utilityHelpers.buffer.d.ts +0 -18
  109. package/out/src/utility/utilityHelpers.buffer.d.ts.map +0 -1
  110. package/out/src/utility/utilityHelpers.buffer.js +0 -45
  111. package/out/src/utility/utilityHelpers.buffer.js.map +0 -1
@@ -1,295 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"listOutputs.js","sourceRoot":"","sources":["../../../../../src/storage/methods/listOutputs.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { sdk } from '../../index.client';
2
- import { StorageKnex } from '../StorageKnex';
3
- export declare function purgeData(storage: StorageKnex, params: sdk.PurgeParams, trx?: sdk.TrxToken): Promise<sdk.PurgeResults>;
4
- //# sourceMappingURL=purgeData.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"purgeData.d.ts","sourceRoot":"","sources":["../../../../../src/storage/methods/purgeData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,wBAAsB,SAAS,CAC7B,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,GAAG,CAAC,WAAW,EACvB,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,GACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAkO3B"}
@@ -1,207 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.purgeData = purgeData;
4
- const sdk_1 = require("@bsv/sdk");
5
- const index_client_1 = require("../../index.client");
6
- async function purgeData(storage, params, trx) {
7
- const r = { count: 0, log: '' };
8
- const defaultAge = 1000 * 60 * 60 * 24 * 14;
9
- const runPurgeQuery = async (pq) => {
10
- try {
11
- pq.sql = pq.q.toString();
12
- const count = await pq.q;
13
- if (count > 0) {
14
- r.count += count;
15
- r.log += `${count} ${pq.log}\n`;
16
- }
17
- }
18
- catch (eu) {
19
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
20
- const e = index_client_1.sdk.WalletError.fromUnknown(eu);
21
- throw eu;
22
- }
23
- };
24
- if (params.purgeCompleted) {
25
- const age = params.purgeCompletedAge || defaultAge;
26
- const before = toSqlWhereDate(new Date(Date.now() - age));
27
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
- const qs = [];
29
- // select * from transactions where updated_at < '2024-08-20' and status = 'completed' and not provenTxId is null and (not truncatedExternalInputs is null or not beef is null or not rawTx is null)
30
- qs.push({
31
- log: 'conpleted transactions purged of transient data',
32
- q: storage
33
- .toDb(trx)('transactions')
34
- .update({
35
- inputBEEF: null,
36
- rawTx: null
37
- })
38
- .where('updated_at', '<', before)
39
- .where('status', 'completed')
40
- .whereNotNull('provenTxId')
41
- .where(function () {
42
- this.orWhereNotNull('inputBEEF');
43
- this.orWhereNotNull('rawTx');
44
- })
45
- });
46
- const completedReqs = await storage
47
- .toDb(trx)('proven_tx_reqs')
48
- .select('provenTxReqId')
49
- .where('updated_at', '<', before)
50
- .where('status', 'completed')
51
- .whereNotNull('provenTxId')
52
- .where('notified', 1);
53
- const completedReqIds = completedReqs.map(o => o.provenTxReqId);
54
- if (completedReqIds.length > 0) {
55
- qs.push({
56
- log: 'completed proven_tx_reqs deleted',
57
- q: storage.toDb(trx)('proven_tx_reqs').whereIn('provenTxReqId', completedReqIds).delete()
58
- });
59
- }
60
- for (const q of qs)
61
- await runPurgeQuery(q);
62
- }
63
- if (params.purgeFailed) {
64
- const age = params.purgeFailedAge || defaultAge;
65
- const before = toSqlWhereDate(new Date(Date.now() - age));
66
- const qs = [];
67
- const failedTxsQ = storage
68
- .toDb(trx)('transactions')
69
- .select('transactionId')
70
- .where('updated_at', '<', before)
71
- .where('status', 'failed');
72
- const txs = await failedTxsQ;
73
- const failedTxIds = txs.map(tx => tx.transactionId);
74
- await deleteTransactions(failedTxIds, qs, 'failed', true);
75
- const invalidReqs = await storage
76
- .toDb(trx)('proven_tx_reqs')
77
- .select('provenTxReqId')
78
- .where('updated_at', '<', before)
79
- .where('status', 'invalid');
80
- const invalidReqIds = invalidReqs.map(o => o.provenTxReqId);
81
- if (invalidReqIds.length > 0)
82
- qs.push({
83
- log: 'invalid proven_tx_reqs deleted',
84
- q: storage.toDb(trx)('proven_tx_reqs').whereIn('provenTxReqId', invalidReqIds).delete()
85
- });
86
- const doubleSpendReqs = await storage
87
- .toDb(trx)('proven_tx_reqs')
88
- .select('provenTxReqId')
89
- .where('updated_at', '<', before)
90
- .where('status', 'doubleSpend');
91
- const doubleSpendReqIds = doubleSpendReqs.map(o => o.provenTxReqId);
92
- if (doubleSpendReqIds.length > 0)
93
- qs.push({
94
- log: 'doubleSpend proven_tx_reqs deleted',
95
- q: storage.toDb(trx)('proven_tx_reqs').whereIn('provenTxReqId', doubleSpendReqIds).delete()
96
- });
97
- for (const q of qs)
98
- await runPurgeQuery(q);
99
- }
100
- if (params.purgeSpent) {
101
- const age = params.purgeSpentAge || defaultAge;
102
- const before = toSqlWhereDate(new Date(Date.now() - age));
103
- const beef = new sdk_1.Beef();
104
- const utxos = await storage.findOutputs({
105
- partial: { spendable: true },
106
- txStatus: ['sending', 'unproven', 'completed', 'nosend']
107
- });
108
- for (const utxo of utxos) {
109
- // Figure out all the txids required to prove the validity of this utxo and merge proofs into beef.
110
- const options = {
111
- mergeToBeef: beef,
112
- ignoreServices: true
113
- };
114
- if (utxo.txid)
115
- await storage.getBeefForTransaction(utxo.txid, options);
116
- }
117
- const proofTxids = {};
118
- for (const btx of beef.txs)
119
- proofTxids[btx.txid] = true;
120
- let qs = [];
121
- const spentTxsQ = storage
122
- .toDb(trx)('transactions')
123
- .where('updated_at', '<', before)
124
- .where('status', 'completed')
125
- .whereRaw(`not exists(select outputId from outputs as o where o.transactionId = transactions.transactionId and o.spendable = 1)`);
126
- const txs = await spentTxsQ;
127
- // Save any spent txid still needed to prove a utxo:
128
- const nptxs = txs.filter(t => !proofTxids[t.txid || '']);
129
- let spentTxIds = nptxs.map(tx => tx.transactionId);
130
- if (spentTxIds.length > 0) {
131
- const update = {
132
- spentBy: null
133
- };
134
- qs.push({
135
- log: 'spent outputs no longer tracked by spentBy',
136
- q: storage
137
- .toDb(trx)('outputs')
138
- .update(storage.validatePartialForUpdate(update, undefined, ['spendable']))
139
- .where('spendable', false)
140
- .whereIn('spentBy', spentTxIds)
141
- });
142
- await deleteTransactions(spentTxIds, qs, 'spent', false);
143
- for (const q of qs)
144
- await runPurgeQuery(q);
145
- }
146
- }
147
- // Delete proven_txs no longer referenced by remaining transactions.
148
- const qs = [];
149
- qs.push({
150
- log: 'orphan proven_txs deleted',
151
- q: storage
152
- .toDb(trx)('proven_txs')
153
- .whereRaw(`not exists(select * from transactions as t where t.txid = proven_txs.txid or t.provenTxId = proven_txs.provenTxId)`)
154
- .whereRaw(`not exists(select * from proven_tx_reqs as r where r.txid = proven_txs.txid or r.provenTxId = proven_txs.provenTxId)`)
155
- .delete()
156
- });
157
- for (const q of qs)
158
- await runPurgeQuery(q);
159
- return r;
160
- async function deleteTransactions(transactionIds, qs, reason, markNotSpentBy) {
161
- if (transactionIds.length > 0) {
162
- const outputs = await storage
163
- .toDb(trx)('outputs')
164
- .select('outputId')
165
- .whereIn('transactionId', transactionIds);
166
- const outputIds = outputs.map(o => o.outputId);
167
- if (outputIds.length > 0) {
168
- qs.push({
169
- log: `${reason} output_tags_map deleted`,
170
- q: storage.toDb(trx)('output_tags_map').whereIn('outputId', outputIds).delete()
171
- });
172
- qs.push({
173
- log: `${reason} outputs deleted`,
174
- q: storage.toDb(trx)('outputs').whereIn('outputId', outputIds).delete()
175
- });
176
- }
177
- qs.push({
178
- log: `${reason} tx_labels_map deleted`,
179
- q: storage.toDb(trx)('tx_labels_map').whereIn('transactionId', transactionIds).delete()
180
- });
181
- qs.push({
182
- log: `${reason} commissions deleted`,
183
- q: storage.toDb(trx)('commissions').whereIn('transactionId', transactionIds).delete()
184
- });
185
- if (markNotSpentBy) {
186
- qs.push({
187
- log: 'unspent outputs updated to spendable',
188
- q: storage
189
- .toDb(trx)('outputs')
190
- .update({ spendable: true, spentBy: null })
191
- .whereIn('spentBy', transactionIds)
192
- });
193
- }
194
- qs.push({
195
- log: `${reason} transactions deleted`,
196
- q: storage.toDb(trx)('transactions').whereIn('transactionId', transactionIds).delete()
197
- });
198
- }
199
- }
200
- }
201
- function toSqlWhereDate(d) {
202
- let s = d.toISOString();
203
- s = s.replace('T', ' ');
204
- s = s.replace('Z', '');
205
- return s;
206
- }
207
- //# sourceMappingURL=purgeData.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"purgeData.js","sourceRoot":"","sources":["../../../../../src/storage/methods/purgeData.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { sdk } from '../../index.client';
2
- import { StorageKnex } from '../StorageKnex';
3
- export declare function reviewStatus(storage: StorageKnex, args: {
4
- agedLimit: Date;
5
- trx?: sdk.TrxToken;
6
- }): Promise<{
7
- log: string;
8
- }>;
9
- //# sourceMappingURL=reviewStatus.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reviewStatus.d.ts","sourceRoot":"","sources":["../../../../../src/storage/methods/reviewStatus.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,wBAAsB,YAAY,CAChC,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE;IAAE,SAAS,EAAE,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAA;CAAE,GAC5C,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAyE1B"}
@@ -1,73 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.reviewStatus = reviewStatus;
4
- const index_client_1 = require("../../index.client");
5
- async function reviewStatus(storage, args) {
6
- const r = { log: '' };
7
- const runReviewStatusQuery = async (pq) => {
8
- try {
9
- pq.sql = pq.q.toString();
10
- const count = await pq.q;
11
- if (count > 0) {
12
- r.log += `${count} ${pq.log}\n`;
13
- }
14
- }
15
- catch (eu) {
16
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
17
- const e = index_client_1.sdk.WalletError.fromUnknown(eu);
18
- throw eu;
19
- }
20
- };
21
- const k = storage.toDb(args.trx);
22
- const qs = [];
23
- qs.push({
24
- log: `transactions updated to status of 'failed' where provenTxReq with matching txid is 'invalid'`,
25
- /*
26
- UPDATE transactions SET status = 'failed'
27
- WHERE exists(select 1 from proven_tx_reqs as r where transactions.txid = r.txid and r.status = 'invalid')
28
- */
29
- q: k('transactions')
30
- .update({ status: 'failed' })
31
- .whereNot({ status: 'failed' })
32
- .whereExists(function () {
33
- this.select(k.raw(1))
34
- .from('proven_tx_reqs as r')
35
- .whereRaw(`transactions.txid = r.txid and r.status = 'invalid'`);
36
- })
37
- });
38
- qs.push({
39
- log: `outputs updated to spendable where spentBy is a transaction with status 'failed'`,
40
- /*
41
- UPDATE outputs SET spentBy = null, spendable = 1
42
- where exists(select 1 from transactions as t where outputs.spentBy = t.transactionId and t.status = 'failed')
43
- */
44
- q: k('outputs')
45
- .update({ spentBy: null, spendable: true })
46
- .whereExists(function () {
47
- this.select(k.raw(1))
48
- .from('transactions as t')
49
- .whereRaw(`outputs.spentBy = t.transactionId and t.status = 'failed'`);
50
- })
51
- });
52
- qs.push({
53
- log: `transactions updated with provenTxId and status of 'completed' where provenTx with matching txid exists`,
54
- /*
55
- UPDATE transactions SET status = 'completed', provenTxId = p.provenTxId
56
- FROM proven_txs p
57
- WHERE transactions.txid = p.txid AND transactions.provenTxId IS NULL
58
- */
59
- q: k('transactions')
60
- .update({
61
- status: 'completed',
62
- provenTxId: k.raw('(SELECT provenTxId FROM proven_txs AS p WHERE transactions.txid = p.txid)')
63
- })
64
- .whereNull('provenTxId')
65
- .whereExists(function () {
66
- this.select(k.raw(1)).from('proven_txs as p').whereRaw('transactions.txid = p.txid');
67
- })
68
- });
69
- for (const q of qs)
70
- await runReviewStatusQuery(q);
71
- return r;
72
- }
73
- //# sourceMappingURL=reviewStatus.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reviewStatus.js","sourceRoot":"","sources":["../../../../../src/storage/methods/reviewStatus.ts"],"names":[],"mappings":";;AAMA,oCA4EC;AA/ED,qDAAwC;AAGjC,KAAK,UAAU,YAAY,CAChC,OAAoB,EACpB,IAA6C;IAE7C,MAAM,CAAC,GAAoB,EAAE,GAAG,EAAE,EAAE,EAAE,CAAA;IAEtC,MAAM,oBAAoB,GAAG,KAAK,EAAoB,EAAqB,EAAiB,EAAE;QAC5F,IAAI,CAAC;YACH,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;YACxB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC,CAAA;YACxB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;YACjC,CAAC;QACH,CAAC;QAAC,OAAO,EAAW,EAAE,CAAC;YACrB,6DAA6D;YAC7D,MAAM,CAAC,GAAG,kBAAG,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;YACzC,MAAM,EAAE,CAAA;QACV,CAAC;IACH,CAAC,CAAA;IAED,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAEhC,MAAM,EAAE,GAAwB,EAAE,CAAA;IAElC,EAAE,CAAC,IAAI,CAAC;QACN,GAAG,EAAE,8FAA8F;QACnG;;;cAGM;QACN,CAAC,EAAE,CAAC,CAAmB,cAAc,CAAC;aACnC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;aAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;aAC9B,WAAW,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAClB,IAAI,CAAC,qBAAqB,CAAC;iBAC3B,QAAQ,CAAC,qDAAqD,CAAC,CAAA;QACpE,CAAC,CAAC;KACL,CAAC,CAAA;IAEF,EAAE,CAAC,IAAI,CAAC;QACN,GAAG,EAAE,kFAAkF;QACvF;;;cAGM;QACN,CAAC,EAAE,CAAC,CAAc,SAAS,CAAC;aACzB,MAAM,CAAC,EAAE,OAAO,EAAE,IAA4B,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;aAClE,WAAW,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAClB,IAAI,CAAC,mBAAmB,CAAC;iBACzB,QAAQ,CAAC,2DAA2D,CAAC,CAAA;QAC1E,CAAC,CAAC;KACL,CAAC,CAAA;IAEF,EAAE,CAAC,IAAI,CAAC;QACN,GAAG,EAAE,yGAAyG;QAC9G;;;;cAIM;QACN,CAAC,EAAE,CAAC,CAAmB,cAAc,CAAC;aACnC,MAAM,CAAC;YACN,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,2EAA2E,CAAC;SAC/F,CAAC;aACD,SAAS,CAAC,YAAY,CAAC;aACvB,WAAW,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAA;QACtF,CAAC,CAAC;KACL,CAAC,CAAA;IAEF,KAAK,MAAM,CAAC,IAAI,EAAE;QAAE,MAAM,oBAAoB,CAAC,CAAC,CAAC,CAAA;IAEjD,OAAO,CAAC,CAAA;AACV,CAAC"}