@bsv/wallet-toolbox 2.1.8 → 2.1.10
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.
- package/CHANGELOG.md +15 -0
- package/docs/client.md +305 -156
- package/docs/monitor.md +153 -16
- package/docs/setup.md +4 -8
- package/docs/storage.md +37 -8
- package/docs/wallet.md +305 -156
- package/out/src/Setup.d.ts.map +1 -1
- package/out/src/Setup.js +1 -2
- package/out/src/Setup.js.map +1 -1
- package/out/src/SetupClient.d.ts.map +1 -1
- package/out/src/SetupClient.js +1 -2
- package/out/src/SetupClient.js.map +1 -1
- package/out/src/index.all.d.ts +1 -2
- package/out/src/index.all.d.ts.map +1 -1
- package/out/src/index.all.js +1 -2
- package/out/src/index.all.js.map +1 -1
- package/out/src/monitor/Monitor.d.ts +4 -3
- package/out/src/monitor/Monitor.d.ts.map +1 -1
- package/out/src/monitor/Monitor.js +39 -11
- package/out/src/monitor/Monitor.js.map +1 -1
- package/out/src/monitor/MonitorDaemon.d.ts +2 -1
- package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
- package/out/src/monitor/MonitorDaemon.js +1 -4
- package/out/src/monitor/MonitorDaemon.js.map +1 -1
- package/out/src/monitor/index.all.d.ts +4 -0
- package/out/src/monitor/index.all.d.ts.map +1 -0
- package/out/src/monitor/index.all.js +43 -0
- package/out/src/monitor/index.all.js.map +1 -0
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts +26 -0
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +1 -0
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +124 -0
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -0
- package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +34 -0
- package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +1 -0
- package/out/src/monitor/tasks/TaskReviewProvenTxs.js +131 -0
- package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -0
- package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +23 -0
- package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -0
- package/out/src/monitor/tasks/TaskReviewUtxos.js +71 -0
- package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -0
- package/out/src/monitor/tasks/TaskSendWaiting.d.ts +14 -1
- package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskSendWaiting.js +94 -25
- package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
- package/out/src/monitor/tasks/__tests/TaskReviewDoubleSpends.test.d.ts +2 -0
- package/out/src/monitor/tasks/__tests/TaskReviewDoubleSpends.test.d.ts.map +1 -0
- package/out/src/monitor/tasks/__tests/TaskReviewDoubleSpends.test.js +161 -0
- package/out/src/monitor/tasks/__tests/TaskReviewDoubleSpends.test.js.map +1 -0
- package/out/src/monitor/tasks/__tests/TaskReviewProvenTxs.test.d.ts +2 -0
- package/out/src/monitor/tasks/__tests/TaskReviewProvenTxs.test.d.ts.map +1 -0
- package/out/src/monitor/tasks/__tests/TaskReviewProvenTxs.test.js +214 -0
- package/out/src/monitor/tasks/__tests/TaskReviewProvenTxs.test.js.map +1 -0
- package/out/src/monitor/tasks/__tests/TaskReviewUtxos.test.d.ts +2 -0
- package/out/src/monitor/tasks/__tests/TaskReviewUtxos.test.d.ts.map +1 -0
- package/out/src/monitor/tasks/__tests/TaskReviewUtxos.test.js +92 -0
- package/out/src/monitor/tasks/__tests/TaskReviewUtxos.test.js.map +1 -0
- package/out/src/monitor/tasks/__tests/TaskSendWaiting.test.d.ts +2 -0
- package/out/src/monitor/tasks/__tests/TaskSendWaiting.test.d.ts.map +1 -0
- package/out/src/monitor/tasks/__tests/TaskSendWaiting.test.js +139 -0
- package/out/src/monitor/tasks/__tests/TaskSendWaiting.test.js.map +1 -0
- package/out/src/monitor/tasks/index.all.d.ts +19 -0
- package/out/src/monitor/tasks/index.all.d.ts.map +1 -0
- package/out/src/monitor/tasks/index.all.js +35 -0
- package/out/src/monitor/tasks/index.all.js.map +1 -0
- package/out/src/sdk/WalletStorage.interfaces.d.ts +9 -0
- package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
- package/out/src/services/Services.d.ts.map +1 -1
- package/out/src/services/Services.js +10 -2
- package/out/src/services/Services.js.map +1 -1
- package/out/src/services/__tests/getFiatExchangeRate.test.d.ts +2 -0
- package/out/src/services/__tests/getFiatExchangeRate.test.d.ts.map +1 -0
- package/out/src/services/__tests/getFiatExchangeRate.test.js +156 -0
- package/out/src/services/__tests/getFiatExchangeRate.test.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.js +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
- package/out/src/services/providers/__tests/exchangeRates.test.js +4 -0
- package/out/src/services/providers/__tests/exchangeRates.test.js.map +1 -1
- package/out/src/storage/StorageKnex.d.ts +3 -1
- package/out/src/storage/StorageKnex.d.ts.map +1 -1
- package/out/src/storage/StorageKnex.js +26 -5
- package/out/src/storage/StorageKnex.js.map +1 -1
- package/out/src/storage/StorageProvider.d.ts +6 -1
- package/out/src/storage/StorageProvider.d.ts.map +1 -1
- package/out/src/storage/StorageProvider.js +6 -0
- package/out/src/storage/StorageProvider.js.map +1 -1
- package/out/src/storage/StorageReaderWriter.d.ts +2 -1
- package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
- package/out/src/storage/StorageReaderWriter.js.map +1 -1
- package/out/src/storage/WalletStorageManager.d.ts +7 -0
- package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
- package/out/src/storage/WalletStorageManager.js +33 -2
- package/out/src/storage/WalletStorageManager.js.map +1 -1
- package/out/src/storage/__test/findStaleMerkleRoots.test.d.ts +2 -0
- package/out/src/storage/__test/findStaleMerkleRoots.test.d.ts.map +1 -0
- package/out/src/storage/__test/findStaleMerkleRoots.test.js +41 -0
- package/out/src/storage/__test/findStaleMerkleRoots.test.js.map +1 -0
- package/out/src/storage/__test/findStaleMerkleRootsKnex.test.d.ts +2 -0
- package/out/src/storage/__test/findStaleMerkleRootsKnex.test.d.ts.map +1 -0
- package/out/src/storage/__test/findStaleMerkleRootsKnex.test.js +73 -0
- package/out/src/storage/__test/findStaleMerkleRootsKnex.test.js.map +1 -0
- package/out/src/utility/Format.d.ts.map +1 -1
- package/out/src/utility/Format.js +1 -0
- package/out/src/utility/Format.js.map +1 -1
- package/out/src/utility/index.all.d.ts +1 -0
- package/out/src/utility/index.all.d.ts.map +1 -1
- package/out/src/utility/index.all.js +1 -0
- package/out/src/utility/index.all.js.map +1 -1
- package/package.json +2 -2
package/docs/monitor.md
CHANGED
|
@@ -24,6 +24,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
24
24
|
| [DeactivedHeader](#interface-deactivedheader) |
|
|
25
25
|
| [MonitorDaemonSetup](#interface-monitordaemonsetup) |
|
|
26
26
|
| [MonitorOptions](#interface-monitoroptions) |
|
|
27
|
+
| [ReviewHeightRangeResult](#interface-reviewheightrangeresult) |
|
|
27
28
|
| [TaskPurgeParams](#interface-taskpurgeparams) |
|
|
28
29
|
|
|
29
30
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
@@ -87,10 +88,11 @@ export interface MonitorDaemonSetup {
|
|
|
87
88
|
services?: Services;
|
|
88
89
|
monitor?: Monitor;
|
|
89
90
|
chaintracks?: Chaintracks;
|
|
91
|
+
startupTaskMode?: MonitorStartupTaskMode;
|
|
90
92
|
}
|
|
91
93
|
```
|
|
92
94
|
|
|
93
|
-
See also: [Chain](./client.md#type-chain), [Chaintracks](./services.md#class-chaintracks), [Monitor](./monitor.md#class-monitor), [Services](./services.md#class-services), [StorageKnexOptions](./storage.md#interface-storageknexoptions), [StorageProvider](./storage.md#class-storageprovider), [WalletServicesOptions](./client.md#interface-walletservicesoptions), [WalletStorageManager](./storage.md#class-walletstoragemanager)
|
|
95
|
+
See also: [Chain](./client.md#type-chain), [Chaintracks](./services.md#class-chaintracks), [Monitor](./monitor.md#class-monitor), [MonitorStartupTaskMode](./monitor.md#type-monitorstartuptaskmode), [Services](./services.md#class-services), [StorageKnexOptions](./storage.md#interface-storageknexoptions), [StorageProvider](./storage.md#class-storageprovider), [WalletServicesOptions](./client.md#interface-walletservicesoptions), [WalletStorageManager](./storage.md#class-walletstoragemanager)
|
|
94
96
|
|
|
95
97
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
96
98
|
|
|
@@ -104,6 +106,7 @@ export interface MonitorOptions {
|
|
|
104
106
|
storage: MonitorStorage;
|
|
105
107
|
chaintracks: ChaintracksClientApi;
|
|
106
108
|
chaintracksWithEvents?: Chaintracks;
|
|
109
|
+
startupTaskMode?: MonitorStartupTaskMode;
|
|
107
110
|
msecsWaitPerMerkleProofServiceReq: number;
|
|
108
111
|
taskRunWaitMsecs: number;
|
|
109
112
|
abandonedMsecs: number;
|
|
@@ -119,7 +122,7 @@ export interface MonitorOptions {
|
|
|
119
122
|
}
|
|
120
123
|
```
|
|
121
124
|
|
|
122
|
-
See also: [Chain](./client.md#type-chain), [Chaintracks](./services.md#class-chaintracks), [ChaintracksClientApi](./services.md#interface-chaintracksclientapi), [MonitorStorage](./monitor.md#type-monitorstorage), [ProvenTransactionStatus](./client.md#interface-proventransactionstatus), [ReviewActionResult](./client.md#interface-reviewactionresult), [Services](./services.md#class-services), [WalletServices](./client.md#interface-walletservices)
|
|
125
|
+
See also: [Chain](./client.md#type-chain), [Chaintracks](./services.md#class-chaintracks), [ChaintracksClientApi](./services.md#interface-chaintracksclientapi), [MonitorStartupTaskMode](./monitor.md#type-monitorstartuptaskmode), [MonitorStorage](./monitor.md#type-monitorstorage), [ProvenTransactionStatus](./client.md#interface-proventransactionstatus), [ReviewActionResult](./client.md#interface-reviewactionresult), [Services](./services.md#class-services), [WalletServices](./client.md#interface-walletservices)
|
|
123
126
|
|
|
124
127
|
###### Property EventSourceClass
|
|
125
128
|
|
|
@@ -175,6 +178,21 @@ saveLastSSEEventId?: (lastEventId: string) => Promise<void>
|
|
|
175
178
|
|
|
176
179
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
177
180
|
|
|
181
|
+
---
|
|
182
|
+
##### Interface: ReviewHeightRangeResult
|
|
183
|
+
|
|
184
|
+
```ts
|
|
185
|
+
export interface ReviewHeightRangeResult {
|
|
186
|
+
log: string;
|
|
187
|
+
reviewedHeights: number;
|
|
188
|
+
mismatchedHeights: number;
|
|
189
|
+
affectedTransactions: number;
|
|
190
|
+
updatedTransactions: number;
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
195
|
+
|
|
178
196
|
---
|
|
179
197
|
##### Interface: TaskPurgeParams
|
|
180
198
|
|
|
@@ -216,15 +234,16 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
216
234
|
|
|
217
235
|
| | |
|
|
218
236
|
| --- | --- |
|
|
219
|
-
| [Monitor](#class-monitor) | [
|
|
220
|
-
| [MonitorDaemon](#class-monitordaemon) | [
|
|
221
|
-
| [TaskArcadeSSE](#class-taskarcadesse) | [
|
|
222
|
-
| [TaskCheckForProofs](#class-taskcheckforproofs) | [
|
|
223
|
-
| [TaskCheckNoSends](#class-taskchecknosends) | [
|
|
224
|
-
| [TaskClock](#class-taskclock) | [
|
|
225
|
-
| [TaskFailAbandoned](#class-taskfailabandoned) | [
|
|
226
|
-
| [TaskMineBlock](#class-taskmineblock) | [
|
|
227
|
-
| [TaskMonitorCallHistory](#class-taskmonitorcallhistory) |
|
|
237
|
+
| [Monitor](#class-monitor) | [TaskPurge](#class-taskpurge) |
|
|
238
|
+
| [MonitorDaemon](#class-monitordaemon) | [TaskReorg](#class-taskreorg) |
|
|
239
|
+
| [TaskArcadeSSE](#class-taskarcadesse) | [TaskReviewDoubleSpends](#class-taskreviewdoublespends) |
|
|
240
|
+
| [TaskCheckForProofs](#class-taskcheckforproofs) | [TaskReviewProvenTxs](#class-taskreviewproventxs) |
|
|
241
|
+
| [TaskCheckNoSends](#class-taskchecknosends) | [TaskReviewStatus](#class-taskreviewstatus) |
|
|
242
|
+
| [TaskClock](#class-taskclock) | [TaskReviewUtxos](#class-taskreviewutxos) |
|
|
243
|
+
| [TaskFailAbandoned](#class-taskfailabandoned) | [TaskSendWaiting](#class-tasksendwaiting) |
|
|
244
|
+
| [TaskMineBlock](#class-taskmineblock) | [TaskSyncWhenIdle](#class-tasksyncwhenidle) |
|
|
245
|
+
| [TaskMonitorCallHistory](#class-taskmonitorcallhistory) | [TaskUnFail](#class-taskunfail) |
|
|
246
|
+
| [TaskNewHeader](#class-tasknewheader) | [WalletMonitorTask](#class-walletmonitortask) |
|
|
228
247
|
|
|
229
248
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
230
249
|
|
|
@@ -237,7 +256,7 @@ and potentially that reorgs update proofs that were already received.
|
|
|
237
256
|
|
|
238
257
|
```ts
|
|
239
258
|
export class Monitor {
|
|
240
|
-
static createDefaultWalletMonitorOptions(chain: Chain, storage: MonitorStorage, services?: Services, chaintracks?: Chaintracks): MonitorOptions
|
|
259
|
+
static createDefaultWalletMonitorOptions(chain: Chain, storage: MonitorStorage, services?: Services, chaintracks?: Chaintracks, startupTaskMode: MonitorStartupTaskMode = "none"): MonitorOptions
|
|
241
260
|
options: MonitorOptions;
|
|
242
261
|
services: Services | WalletServices;
|
|
243
262
|
chain: Chain;
|
|
@@ -293,7 +312,7 @@ export class Monitor {
|
|
|
293
312
|
}
|
|
294
313
|
```
|
|
295
314
|
|
|
296
|
-
See also: [BlockHeader](./client.md#interface-blockheader), [Chain](./client.md#type-chain), [Chaintracks](./services.md#class-chaintracks), [ChaintracksClientApi](./services.md#interface-chaintracksclientapi), [DeactivedHeader](./monitor.md#interface-deactivedheader), [MonitorOptions](./monitor.md#interface-monitoroptions), [MonitorStorage](./monitor.md#type-monitorstorage), [ProvenTransactionStatus](./client.md#interface-proventransactionstatus), [ReviewActionResult](./client.md#interface-reviewactionresult), [Services](./services.md#class-services), [TaskPurgeParams](./monitor.md#interface-taskpurgeparams), [WalletMonitorTask](./monitor.md#class-walletmonitortask), [WalletServices](./client.md#interface-walletservices)
|
|
315
|
+
See also: [BlockHeader](./client.md#interface-blockheader), [Chain](./client.md#type-chain), [Chaintracks](./services.md#class-chaintracks), [ChaintracksClientApi](./services.md#interface-chaintracksclientapi), [DeactivedHeader](./monitor.md#interface-deactivedheader), [MonitorOptions](./monitor.md#interface-monitoroptions), [MonitorStartupTaskMode](./monitor.md#type-monitorstartuptaskmode), [MonitorStorage](./monitor.md#type-monitorstorage), [ProvenTransactionStatus](./client.md#interface-proventransactionstatus), [ReviewActionResult](./client.md#interface-reviewactionresult), [Services](./services.md#class-services), [TaskPurgeParams](./monitor.md#interface-taskpurgeparams), [WalletMonitorTask](./monitor.md#class-walletmonitortask), [WalletServices](./client.md#interface-walletservices)
|
|
297
316
|
|
|
298
317
|
###### Property _otherTasks
|
|
299
318
|
|
|
@@ -316,7 +335,6 @@ See also: [WalletMonitorTask](./monitor.md#class-walletmonitortask)
|
|
|
316
335
|
###### Method addDefaultTasks
|
|
317
336
|
|
|
318
337
|
Default tasks with settings appropriate for a single user storage
|
|
319
|
-
possibly with sync'ing enabled
|
|
320
338
|
|
|
321
339
|
```ts
|
|
322
340
|
addDefaultTasks(): void
|
|
@@ -325,7 +343,6 @@ addDefaultTasks(): void
|
|
|
325
343
|
###### Method addMultiUserTasks
|
|
326
344
|
|
|
327
345
|
Tasks appropriate for multi-user storage
|
|
328
|
-
without sync'ing enabled.
|
|
329
346
|
|
|
330
347
|
```ts
|
|
331
348
|
addMultiUserTasks(): void
|
|
@@ -798,6 +815,61 @@ Argument Details
|
|
|
798
815
|
|
|
799
816
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
800
817
|
|
|
818
|
+
---
|
|
819
|
+
##### Class: TaskReviewDoubleSpends
|
|
820
|
+
|
|
821
|
+
Review recent reqs in terminal 'doubleSpend' state and move any false positives
|
|
822
|
+
back to 'unfail' so existing recovery handling can re-process them.
|
|
823
|
+
|
|
824
|
+
```ts
|
|
825
|
+
export class TaskReviewDoubleSpends extends WalletMonitorTask {
|
|
826
|
+
static taskName = "ReviewDoubleSpends";
|
|
827
|
+
static checkNow = false;
|
|
828
|
+
triggerNextMsecs: number;
|
|
829
|
+
constructor(monitor: Monitor, public triggerMsecs = Monitor.oneMinute * 12, public reviewLimit = 100, public minAgeMinutes = 60, public triggerQuickMsecs = Monitor.oneMinute * 1)
|
|
830
|
+
trigger(nowMsecsSinceEpoch: number): {
|
|
831
|
+
run: boolean;
|
|
832
|
+
}
|
|
833
|
+
async getLastReviewedCheckpoint(): Promise<{
|
|
834
|
+
resumeOffset: number;
|
|
835
|
+
expectedProvenTxReqId?: number;
|
|
836
|
+
} | undefined>
|
|
837
|
+
async runTask(): Promise<string>
|
|
838
|
+
}
|
|
839
|
+
```
|
|
840
|
+
|
|
841
|
+
See also: [Monitor](./monitor.md#class-monitor), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
|
|
842
|
+
|
|
843
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
844
|
+
|
|
845
|
+
---
|
|
846
|
+
##### Class: TaskReviewProvenTxs
|
|
847
|
+
|
|
848
|
+
Backup verification task for recent proven_txs records.
|
|
849
|
+
|
|
850
|
+
Reorg handling should normally be driven by TaskReorg via deactivated-header events.
|
|
851
|
+
This task runs a lagged audit over recent heights and only reproves transactions when
|
|
852
|
+
the currently canonical merkleRoot at a height no longer matches stored proven_txs roots.
|
|
853
|
+
|
|
854
|
+
```ts
|
|
855
|
+
export class TaskReviewProvenTxs extends WalletMonitorTask {
|
|
856
|
+
static taskName = "ReviewProvenTxs";
|
|
857
|
+
static checkNow = false;
|
|
858
|
+
triggerNextMsecs: number;
|
|
859
|
+
constructor(monitor: Monitor, public triggerMsecs = Monitor.oneMinute * 10, public maxHeightsPerRun = 100, public minBlockAge = 100, public triggerQuickMsecs = Monitor.oneMinute * 1)
|
|
860
|
+
trigger(nowMsecsSinceEpoch: number): {
|
|
861
|
+
run: boolean;
|
|
862
|
+
}
|
|
863
|
+
async runTask(): Promise<string>
|
|
864
|
+
async reviewHeightRange(range: HeightRange): Promise<ReviewHeightRangeResult>
|
|
865
|
+
async getLastReviewedHeight(): Promise<number | undefined>
|
|
866
|
+
}
|
|
867
|
+
```
|
|
868
|
+
|
|
869
|
+
See also: [HeightRange](./services.md#class-heightrange), [Monitor](./monitor.md#class-monitor), [ReviewHeightRangeResult](./monitor.md#interface-reviewheightrangeresult), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
|
|
870
|
+
|
|
871
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
872
|
+
|
|
801
873
|
---
|
|
802
874
|
##### Class: TaskReviewStatus
|
|
803
875
|
|
|
@@ -833,6 +905,30 @@ static checkNow = false
|
|
|
833
905
|
|
|
834
906
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
835
907
|
|
|
908
|
+
---
|
|
909
|
+
##### Class: TaskReviewUtxos
|
|
910
|
+
|
|
911
|
+
Use the reviewByIdentityKey method to review the utxos of a specific user by their identityKey.
|
|
912
|
+
|
|
913
|
+
The task itself is disabled and will not run on a schedule; review must be triggered manually by calling reviewByIdentityKey.
|
|
914
|
+
|
|
915
|
+
```ts
|
|
916
|
+
export class TaskReviewUtxos extends WalletMonitorTask {
|
|
917
|
+
static taskName = "ReviewUtxos";
|
|
918
|
+
static checkNow = false;
|
|
919
|
+
constructor(monitor: Monitor, public triggerMsecs = 0, public userLimit = 10, public userOffset = 0, public tags: string[] = ["release", "all"])
|
|
920
|
+
trigger(_nowMsecsSinceEpoch: number): {
|
|
921
|
+
run: boolean;
|
|
922
|
+
}
|
|
923
|
+
async runTask(): Promise<string>
|
|
924
|
+
async reviewByIdentityKey(identityKey: string, mode: "all" | "change" = "all"): Promise<string>
|
|
925
|
+
}
|
|
926
|
+
```
|
|
927
|
+
|
|
928
|
+
See also: [Monitor](./monitor.md#class-monitor), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
|
|
929
|
+
|
|
930
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
931
|
+
|
|
836
932
|
---
|
|
837
933
|
##### Class: TaskSendWaiting
|
|
838
934
|
|
|
@@ -841,7 +937,8 @@ export class TaskSendWaiting extends WalletMonitorTask {
|
|
|
841
937
|
static taskName = "SendWaiting";
|
|
842
938
|
lastSendingRunMsecsSinceEpoch: number | undefined;
|
|
843
939
|
includeSending: boolean = true;
|
|
844
|
-
|
|
940
|
+
triggerNextMsecs: number;
|
|
941
|
+
constructor(monitor: Monitor, public triggerMsecs = Monitor.oneSecond * 8, public agedMsecs = Monitor.oneSecond * 7, public sendingMsecs = Monitor.oneMinute * 5, public triggerQuickMsecs = Monitor.oneSecond * 1, public chunkLimit = 100)
|
|
845
942
|
trigger(nowMsecsSinceEpoch: number): {
|
|
846
943
|
run: boolean;
|
|
847
944
|
}
|
|
@@ -852,6 +949,28 @@ export class TaskSendWaiting extends WalletMonitorTask {
|
|
|
852
949
|
|
|
853
950
|
See also: [Monitor](./monitor.md#class-monitor), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
|
|
854
951
|
|
|
952
|
+
###### Constructor
|
|
953
|
+
|
|
954
|
+
```ts
|
|
955
|
+
constructor(monitor: Monitor, public triggerMsecs = Monitor.oneSecond * 8, public agedMsecs = Monitor.oneSecond * 7, public sendingMsecs = Monitor.oneMinute * 5, public triggerQuickMsecs = Monitor.oneSecond * 1, public chunkLimit = 100)
|
|
956
|
+
```
|
|
957
|
+
See also: [Monitor](./monitor.md#class-monitor)
|
|
958
|
+
|
|
959
|
+
Argument Details
|
|
960
|
+
|
|
961
|
+
+ **monitor**
|
|
962
|
+
+ Wallet monitor owning this task.
|
|
963
|
+
+ **triggerMsecs**
|
|
964
|
+
+ Normal interval between SendWaiting runs when no backlog remains.
|
|
965
|
+
+ **agedMsecs**
|
|
966
|
+
+ Minimum age a request must reach before this task will attempt to send it.
|
|
967
|
+
+ **sendingMsecs**
|
|
968
|
+
+ Minimum interval before stale `sending` requests are included again.
|
|
969
|
+
+ **triggerQuickMsecs**
|
|
970
|
+
+ Follow-up interval used when a full chunk was consumed and more work may remain.
|
|
971
|
+
+ **chunkLimit**
|
|
972
|
+
+ Maximum number of waiting requests to fetch and inspect in a single run.
|
|
973
|
+
|
|
855
974
|
###### Method processUnsent
|
|
856
975
|
|
|
857
976
|
Process an array of 'unsent' status table.ProvenTxReq
|
|
@@ -1041,6 +1160,24 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
1041
1160
|
---
|
|
1042
1161
|
#### Types
|
|
1043
1162
|
|
|
1163
|
+
| |
|
|
1164
|
+
| --- |
|
|
1165
|
+
| [MonitorStartupTaskMode](#type-monitorstartuptaskmode) |
|
|
1166
|
+
| [MonitorStorage](#type-monitorstorage) |
|
|
1167
|
+
|
|
1168
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1169
|
+
|
|
1170
|
+
---
|
|
1171
|
+
|
|
1172
|
+
##### Type: MonitorStartupTaskMode
|
|
1173
|
+
|
|
1174
|
+
```ts
|
|
1175
|
+
export type MonitorStartupTaskMode = "none" | "default" | "multiuser" | "alltoother"
|
|
1176
|
+
```
|
|
1177
|
+
|
|
1178
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
1179
|
+
|
|
1180
|
+
---
|
|
1044
1181
|
##### Type: MonitorStorage
|
|
1045
1182
|
|
|
1046
1183
|
```ts
|
package/docs/setup.md
CHANGED
|
@@ -614,9 +614,8 @@ DEV_KEYS = '{
|
|
|
614
614
|
const serviceOptions = Services.createDefaultOptions(chain);
|
|
615
615
|
serviceOptions.taalApiKey = args.env.taalApiKey;
|
|
616
616
|
const services = new Services(serviceOptions);
|
|
617
|
-
const monopts = Monitor.createDefaultWalletMonitorOptions(chain, storage, services);
|
|
617
|
+
const monopts = Monitor.createDefaultWalletMonitorOptions(chain, storage, services, undefined, "default");
|
|
618
618
|
const monitor = new Monitor(monopts);
|
|
619
|
-
monitor.addDefaultTasks();
|
|
620
619
|
const privilegedKeyManager = args.privilegedKeyGetter
|
|
621
620
|
? new PrivilegedKeyManager(args.privilegedKeyGetter)
|
|
622
621
|
: undefined;
|
|
@@ -811,9 +810,8 @@ static async createWallet(args: SetupWalletArgs): Promise<SetupWallet> {
|
|
|
811
810
|
const serviceOptions = Services.createDefaultOptions(chain);
|
|
812
811
|
serviceOptions.taalApiKey = args.env.taalApiKey;
|
|
813
812
|
const services = new Services(serviceOptions);
|
|
814
|
-
const monopts = Monitor.createDefaultWalletMonitorOptions(chain, storage, services);
|
|
813
|
+
const monopts = Monitor.createDefaultWalletMonitorOptions(chain, storage, services, undefined, "default");
|
|
815
814
|
const monitor = new Monitor(monopts);
|
|
816
|
-
monitor.addDefaultTasks();
|
|
817
815
|
const privilegedKeyManager = args.privilegedKeyGetter
|
|
818
816
|
? new PrivilegedKeyManager(args.privilegedKeyGetter)
|
|
819
817
|
: undefined;
|
|
@@ -1012,9 +1010,8 @@ export abstract class SetupClient {
|
|
|
1012
1010
|
const serviceOptions = Services.createDefaultOptions(chain);
|
|
1013
1011
|
serviceOptions.taalApiKey = args.taalApiKey;
|
|
1014
1012
|
const services = new Services(serviceOptions);
|
|
1015
|
-
const monopts = Monitor.createDefaultWalletMonitorOptions(chain, storage, services);
|
|
1013
|
+
const monopts = Monitor.createDefaultWalletMonitorOptions(chain, storage, services, undefined, "default");
|
|
1016
1014
|
const monitor = new Monitor(monopts);
|
|
1017
|
-
monitor.addDefaultTasks();
|
|
1018
1015
|
const privilegedKeyManager = args.privilegedKeyGetter
|
|
1019
1016
|
? new PrivilegedKeyManager(args.privilegedKeyGetter)
|
|
1020
1017
|
: undefined;
|
|
@@ -1173,9 +1170,8 @@ static async createWallet(args: SetupClientWalletArgs): Promise<SetupWallet> {
|
|
|
1173
1170
|
const serviceOptions = Services.createDefaultOptions(chain);
|
|
1174
1171
|
serviceOptions.taalApiKey = args.taalApiKey;
|
|
1175
1172
|
const services = new Services(serviceOptions);
|
|
1176
|
-
const monopts = Monitor.createDefaultWalletMonitorOptions(chain, storage, services);
|
|
1173
|
+
const monopts = Monitor.createDefaultWalletMonitorOptions(chain, storage, services, undefined, "default");
|
|
1177
1174
|
const monitor = new Monitor(monopts);
|
|
1178
|
-
monitor.addDefaultTasks();
|
|
1179
1175
|
const privilegedKeyManager = args.privilegedKeyGetter
|
|
1180
1176
|
? new PrivilegedKeyManager(args.privilegedKeyGetter)
|
|
1181
1177
|
: undefined;
|
package/docs/storage.md
CHANGED
|
@@ -550,6 +550,10 @@ export interface StorageAdminStats {
|
|
|
550
550
|
txFailedWeek: number;
|
|
551
551
|
txFailedMonth: number;
|
|
552
552
|
txFailedTotal: number;
|
|
553
|
+
txAbandonedDay: number;
|
|
554
|
+
txAbandonedWeek: number;
|
|
555
|
+
txAbandonedMonth: number;
|
|
556
|
+
txAbandonedTotal: number;
|
|
553
557
|
txUnprocessedDay: number;
|
|
554
558
|
txUnprocessedWeek: number;
|
|
555
559
|
txUnprocessedMonth: number;
|
|
@@ -3525,6 +3529,7 @@ export class StorageKnex extends StorageProvider implements WalletStorageProvide
|
|
|
3525
3529
|
findOutputTagsQuery(args: FindOutputTagsArgs): Knex.QueryBuilder
|
|
3526
3530
|
findProvenTxReqsQuery(args: FindProvenTxReqsArgs): Knex.QueryBuilder
|
|
3527
3531
|
findProvenTxsQuery(args: FindProvenTxsArgs): Knex.QueryBuilder
|
|
3532
|
+
findStaleMerkleRootsQuery(args: FindStaleMerkleRootsArgs): Knex.QueryBuilder
|
|
3528
3533
|
findSyncStatesQuery(args: FindSyncStatesArgs): Knex.QueryBuilder
|
|
3529
3534
|
findTransactionsQuery(args: FindTransactionsArgs, count?: boolean): Knex.QueryBuilder
|
|
3530
3535
|
findTxLabelMapsQuery(args: FindTxLabelMapsArgs): Knex.QueryBuilder
|
|
@@ -3543,6 +3548,7 @@ export class StorageKnex extends StorageProvider implements WalletStorageProvide
|
|
|
3543
3548
|
override async findOutputTags(args: FindOutputTagsArgs): Promise<TableOutputTag[]>
|
|
3544
3549
|
override async findProvenTxReqs(args: FindProvenTxReqsArgs): Promise<TableProvenTxReq[]>
|
|
3545
3550
|
override async findProvenTxs(args: FindProvenTxsArgs): Promise<TableProvenTx[]>
|
|
3551
|
+
override async findStaleMerkleRoots(args: FindStaleMerkleRootsArgs): Promise<string[]>
|
|
3546
3552
|
override async findSyncStates(args: FindSyncStatesArgs): Promise<TableSyncState[]>
|
|
3547
3553
|
override async findTransactions(args: FindTransactionsArgs): Promise<TableTransaction[]>
|
|
3548
3554
|
override async findTxLabelMaps(args: FindTxLabelMapsArgs): Promise<TableTxLabelMap[]>
|
|
@@ -3616,7 +3622,7 @@ export class StorageKnex extends StorageProvider implements WalletStorageProvide
|
|
|
3616
3622
|
const one_day_ago = new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
|
|
3617
3623
|
const one_week_ago = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000).toISOString();
|
|
3618
3624
|
const one_month_ago = new Date(Date.now() - 30 * 24 * 60 * 60 * 1000).toISOString();
|
|
3619
|
-
const [[{ usersDay, usersMonth, usersWeek, usersTotal, transactionsDay, transactionsMonth, transactionsWeek, transactionsTotal, txCompletedDay, txCompletedMonth, txCompletedWeek, txCompletedTotal, txFailedDay, txFailedMonth, txFailedWeek, txFailedTotal, txUnprocessedDay, txUnprocessedMonth, txUnprocessedWeek, txUnprocessedTotal, txSendingDay, txSendingMonth, txSendingWeek, txSendingTotal, txUnprovenDay, txUnprovenMonth, txUnprovenWeek, txUnprovenTotal, txUnsignedDay, txUnsignedMonth, txUnsignedWeek, txUnsignedTotal, txNosendDay, txNosendMonth, txNosendWeek, txNosendTotal, txNonfinalDay, txNonfinalMonth, txNonfinalWeek, txNonfinalTotal, txUnfailDay, txUnfailMonth, txUnfailWeek, txUnfailTotal, satoshisDefaultDay, satoshisDefaultMonth, satoshisDefaultWeek, satoshisDefaultTotal, satoshisOtherDay, satoshisOtherMonth, satoshisOtherWeek, satoshisOtherTotal, basketsDay, basketsMonth, basketsWeek, basketsTotal, labelsDay, labelsMonth, labelsWeek, labelsTotal, tagsDay, tagsMonth, tagsWeek, tagsTotal }]] = await this.knex.raw(`
|
|
3625
|
+
const [[{ usersDay, usersMonth, usersWeek, usersTotal, transactionsDay, transactionsMonth, transactionsWeek, transactionsTotal, txCompletedDay, txCompletedMonth, txCompletedWeek, txCompletedTotal, txFailedDay, txFailedMonth, txFailedWeek, txFailedTotal, txAbandonedDay, txAbandonedMonth, txAbandonedWeek, txAbandonedTotal, txUnprocessedDay, txUnprocessedMonth, txUnprocessedWeek, txUnprocessedTotal, txSendingDay, txSendingMonth, txSendingWeek, txSendingTotal, txUnprovenDay, txUnprovenMonth, txUnprovenWeek, txUnprovenTotal, txUnsignedDay, txUnsignedMonth, txUnsignedWeek, txUnsignedTotal, txNosendDay, txNosendMonth, txNosendWeek, txNosendTotal, txNonfinalDay, txNonfinalMonth, txNonfinalWeek, txNonfinalTotal, txUnfailDay, txUnfailMonth, txUnfailWeek, txUnfailTotal, satoshisDefaultDay, satoshisDefaultMonth, satoshisDefaultWeek, satoshisDefaultTotal, satoshisOtherDay, satoshisOtherMonth, satoshisOtherWeek, satoshisOtherTotal, basketsDay, basketsMonth, basketsWeek, basketsTotal, labelsDay, labelsMonth, labelsWeek, labelsTotal, tagsDay, tagsMonth, tagsWeek, tagsTotal }]] = await this.knex.raw(`
|
|
3620
3626
|
select
|
|
3621
3627
|
(select count(*) from users where created_at > '${one_day_ago}') as usersDay,
|
|
3622
3628
|
(select count(*) from users where created_at > '${one_week_ago}') as usersWeek,
|
|
@@ -3630,10 +3636,14 @@ select
|
|
|
3630
3636
|
(select count(*) from transactions where status = 'completed' and created_at > '${one_week_ago}') as txCompletedWeek,
|
|
3631
3637
|
(select count(*) from transactions where status = 'completed' and created_at > '${one_month_ago}') as txCompletedMonth,
|
|
3632
3638
|
(select count(*) from transactions where status = 'completed') as txCompletedTotal,
|
|
3633
|
-
(select count(*) from transactions where status = 'failed' and created_at > '${one_day_ago}') as txFailedDay,
|
|
3634
|
-
(select count(*) from transactions where status = 'failed' and created_at > '${one_week_ago}') as txFailedWeek,
|
|
3635
|
-
(select count(*) from transactions where status = 'failed' and created_at > '${one_month_ago}') as txFailedMonth,
|
|
3636
|
-
(select count(*) from transactions where status = 'failed') as txFailedTotal,
|
|
3639
|
+
(select count(*) from transactions where status = 'failed' and not txid is null and created_at > '${one_day_ago}') as txFailedDay,
|
|
3640
|
+
(select count(*) from transactions where status = 'failed' and not txid is null and created_at > '${one_week_ago}') as txFailedWeek,
|
|
3641
|
+
(select count(*) from transactions where status = 'failed' and not txid is null and created_at > '${one_month_ago}') as txFailedMonth,
|
|
3642
|
+
(select count(*) from transactions where status = 'failed' and not txid is null) as txFailedTotal,
|
|
3643
|
+
(select count(*) from transactions where status = 'failed' and txid is null and created_at > '${one_day_ago}') as txAbandonedDay,
|
|
3644
|
+
(select count(*) from transactions where status = 'failed' and txid is null and created_at > '${one_week_ago}') as txAbandonedWeek,
|
|
3645
|
+
(select count(*) from transactions where status = 'failed' and txid is null and created_at > '${one_month_ago}') as txAbandonedMonth,
|
|
3646
|
+
(select count(*) from transactions where status = 'failed' and txid is null) as txAbandonedTotal,
|
|
3637
3647
|
(select count(*) from transactions where status = 'unprocessed' and created_at > '${one_day_ago}') as txUnprocessedDay,
|
|
3638
3648
|
(select count(*) from transactions where status = 'unprocessed' and created_at > '${one_week_ago}') as txUnprocessedWeek,
|
|
3639
3649
|
(select count(*) from transactions where status = 'unprocessed' and created_at > '${one_month_ago}') as txUnprocessedMonth,
|
|
@@ -3704,6 +3714,10 @@ select
|
|
|
3704
3714
|
txFailedWeek,
|
|
3705
3715
|
txFailedMonth,
|
|
3706
3716
|
txFailedTotal,
|
|
3717
|
+
txAbandonedDay,
|
|
3718
|
+
txAbandonedWeek,
|
|
3719
|
+
txAbandonedMonth,
|
|
3720
|
+
txAbandonedTotal,
|
|
3707
3721
|
txUnprocessedDay,
|
|
3708
3722
|
txUnprocessedWeek,
|
|
3709
3723
|
txUnprocessedMonth,
|
|
@@ -3758,7 +3772,7 @@ select
|
|
|
3758
3772
|
}
|
|
3759
3773
|
```
|
|
3760
3774
|
|
|
3761
|
-
See also: [AdminStatsResult](./storage.md#interface-adminstatsresult), [AuthId](./client.md#interface-authid), [DBType](./storage.md#type-dbtype), [EntityTimeStamp](./client.md#interface-entitytimestamp), [FindCertificateFieldsArgs](./client.md#interface-findcertificatefieldsargs), [FindCertificatesArgs](./client.md#interface-findcertificatesargs), [FindCommissionsArgs](./client.md#interface-findcommissionsargs), [FindForUserSincePagedArgs](./client.md#interface-findforusersincepagedargs), [FindMonitorEventsArgs](./client.md#interface-findmonitoreventsargs), [FindOutputBasketsArgs](./client.md#interface-findoutputbasketsargs), [FindOutputTagMapsArgs](./client.md#interface-findoutputtagmapsargs), [FindOutputTagsArgs](./client.md#interface-findoutputtagsargs), [FindOutputsArgs](./client.md#interface-findoutputsargs), [FindPartialSincePagedArgs](./client.md#interface-findpartialsincepagedargs), [FindProvenTxReqsArgs](./client.md#interface-findproventxreqsargs), [FindProvenTxsArgs](./client.md#interface-findproventxsargs), [FindSyncStatesArgs](./client.md#interface-findsyncstatesargs), [FindTransactionsArgs](./client.md#interface-findtransactionsargs), [FindTxLabelMapsArgs](./client.md#interface-findtxlabelmapsargs), [FindTxLabelsArgs](./client.md#interface-findtxlabelsargs), [FindUsersArgs](./client.md#interface-findusersargs), [ProvenOrRawTx](./client.md#interface-provenorrawtx), [PurgeParams](./client.md#interface-purgeparams), [PurgeResults](./client.md#interface-purgeresults), [ServicesCallHistory](./client.md#type-servicescallhistory), [StorageKnexOptions](./storage.md#interface-storageknexoptions), [StorageProvider](./storage.md#class-storageprovider), [TableCertificate](./storage.md#interface-tablecertificate), [TableCertificateField](./storage.md#interface-tablecertificatefield), [TableCertificateX](./storage.md#interface-tablecertificatex), [TableCommission](./storage.md#interface-tablecommission), [TableMonitorEvent](./storage.md#interface-tablemonitorevent), [TableOutput](./storage.md#interface-tableoutput), [TableOutputBasket](./storage.md#interface-tableoutputbasket), [TableOutputTag](./storage.md#interface-tableoutputtag), [TableOutputTagMap](./storage.md#interface-tableoutputtagmap), [TableProvenTx](./storage.md#interface-tableproventx), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [TableSettings](./storage.md#interface-tablesettings), [TableSyncState](./storage.md#interface-tablesyncstate), [TableTransaction](./storage.md#interface-tabletransaction), [TableTxLabel](./storage.md#interface-tabletxlabel), [TableTxLabelMap](./storage.md#interface-tabletxlabelmap), [TableUser](./storage.md#interface-tableuser), [TrxToken](./client.md#interface-trxtoken), [WERR_NOT_IMPLEMENTED](./client.md#class-werr_not_implemented), [WalletStorageProvider](./client.md#interface-walletstorageprovider), [listActions](./storage.md#function-listactions), [listOutputs](./storage.md#function-listoutputs), [purgeData](./storage.md#function-purgedata), [reviewStatus](./storage.md#function-reviewstatus), [verifyOneOrNone](./client.md#function-verifyoneornone)
|
|
3775
|
+
See also: [AdminStatsResult](./storage.md#interface-adminstatsresult), [AuthId](./client.md#interface-authid), [DBType](./storage.md#type-dbtype), [EntityTimeStamp](./client.md#interface-entitytimestamp), [FindCertificateFieldsArgs](./client.md#interface-findcertificatefieldsargs), [FindCertificatesArgs](./client.md#interface-findcertificatesargs), [FindCommissionsArgs](./client.md#interface-findcommissionsargs), [FindForUserSincePagedArgs](./client.md#interface-findforusersincepagedargs), [FindMonitorEventsArgs](./client.md#interface-findmonitoreventsargs), [FindOutputBasketsArgs](./client.md#interface-findoutputbasketsargs), [FindOutputTagMapsArgs](./client.md#interface-findoutputtagmapsargs), [FindOutputTagsArgs](./client.md#interface-findoutputtagsargs), [FindOutputsArgs](./client.md#interface-findoutputsargs), [FindPartialSincePagedArgs](./client.md#interface-findpartialsincepagedargs), [FindProvenTxReqsArgs](./client.md#interface-findproventxreqsargs), [FindProvenTxsArgs](./client.md#interface-findproventxsargs), [FindStaleMerkleRootsArgs](./client.md#interface-findstalemerklerootsargs), [FindSyncStatesArgs](./client.md#interface-findsyncstatesargs), [FindTransactionsArgs](./client.md#interface-findtransactionsargs), [FindTxLabelMapsArgs](./client.md#interface-findtxlabelmapsargs), [FindTxLabelsArgs](./client.md#interface-findtxlabelsargs), [FindUsersArgs](./client.md#interface-findusersargs), [ProvenOrRawTx](./client.md#interface-provenorrawtx), [PurgeParams](./client.md#interface-purgeparams), [PurgeResults](./client.md#interface-purgeresults), [ServicesCallHistory](./client.md#type-servicescallhistory), [StorageKnexOptions](./storage.md#interface-storageknexoptions), [StorageProvider](./storage.md#class-storageprovider), [TableCertificate](./storage.md#interface-tablecertificate), [TableCertificateField](./storage.md#interface-tablecertificatefield), [TableCertificateX](./storage.md#interface-tablecertificatex), [TableCommission](./storage.md#interface-tablecommission), [TableMonitorEvent](./storage.md#interface-tablemonitorevent), [TableOutput](./storage.md#interface-tableoutput), [TableOutputBasket](./storage.md#interface-tableoutputbasket), [TableOutputTag](./storage.md#interface-tableoutputtag), [TableOutputTagMap](./storage.md#interface-tableoutputtagmap), [TableProvenTx](./storage.md#interface-tableproventx), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [TableSettings](./storage.md#interface-tablesettings), [TableSyncState](./storage.md#interface-tablesyncstate), [TableTransaction](./storage.md#interface-tabletransaction), [TableTxLabel](./storage.md#interface-tabletxlabel), [TableTxLabelMap](./storage.md#interface-tabletxlabelmap), [TableUser](./storage.md#interface-tableuser), [TrxToken](./client.md#interface-trxtoken), [WERR_NOT_IMPLEMENTED](./client.md#class-werr_not_implemented), [WalletStorageProvider](./client.md#interface-walletstorageprovider), [listActions](./storage.md#function-listactions), [listOutputs](./storage.md#function-listoutputs), [purgeData](./storage.md#function-purgedata), [reviewStatus](./storage.md#function-reviewstatus), [verifyOneOrNone](./client.md#function-verifyoneornone)
|
|
3762
3776
|
|
|
3763
3777
|
###### Method allocateChangeInput
|
|
3764
3778
|
|
|
@@ -3881,6 +3895,7 @@ export abstract class StorageProvider extends StorageReaderWriter implements Wal
|
|
|
3881
3895
|
abstract listOutputs(auth: AuthId, args: Validation.ValidListOutputsArgs): Promise<ListOutputsResult>;
|
|
3882
3896
|
abstract countChangeInputs(userId: number, basketId: number, excludeSending: boolean): Promise<number>;
|
|
3883
3897
|
async findOutputsByIds(outputIds: number[], trx?: TrxToken): Promise<Record<number, TableOutput>>
|
|
3898
|
+
async findStaleMerkleRoots(args: FindStaleMerkleRootsArgs): Promise<string[]>
|
|
3884
3899
|
async findOutputsByOutpoints(userId: number, outpoints: Array<{
|
|
3885
3900
|
txid: string;
|
|
3886
3901
|
vout: number;
|
|
@@ -3925,7 +3940,7 @@ export abstract class StorageProvider extends StorageReaderWriter implements Wal
|
|
|
3925
3940
|
}
|
|
3926
3941
|
```
|
|
3927
3942
|
|
|
3928
|
-
See also: [AdminStatsResult](./storage.md#interface-adminstatsresult), [AuthId](./client.md#interface-authid), [Chain](./client.md#type-chain), [EntityProvenTxReq](./storage.md#class-entityproventxreq), [FindCertificatesArgs](./client.md#interface-findcertificatesargs), [FindOutputBasketsArgs](./client.md#interface-findoutputbasketsargs), [FindOutputsArgs](./client.md#interface-findoutputsargs), [GetReqsAndBeefResult](./storage.md#interface-getreqsandbeefresult), [PostReqsToNetworkResult](./storage.md#interface-postreqstonetworkresult), [ProcessSyncChunkResult](./client.md#interface-processsyncchunkresult), [ProvenOrRawTx](./client.md#interface-provenorrawtx), [PurgeParams](./client.md#interface-purgeparams), [PurgeResults](./client.md#interface-purgeresults), [RequestSyncChunkArgs](./client.md#interface-requestsyncchunkargs), [StorageCreateActionResult](./client.md#interface-storagecreateactionresult), [StorageFeeModel](./client.md#interface-storagefeemodel), [StorageGetBeefOptions](./client.md#interface-storagegetbeefoptions), [StorageInternalizeActionResult](./client.md#interface-storageinternalizeactionresult), [StorageProcessActionArgs](./client.md#interface-storageprocessactionargs), [StorageProcessActionResults](./client.md#interface-storageprocessactionresults), [StorageProvenOrReq](./client.md#interface-storageprovenorreq), [StorageProviderOptions](./storage.md#interface-storageprovideroptions), [StorageReaderWriter](./storage.md#class-storagereaderwriter), [SyncChunk](./client.md#interface-syncchunk), [TableCertificateX](./storage.md#interface-tablecertificatex), [TableMonitorEvent](./storage.md#interface-tablemonitorevent), [TableOutput](./storage.md#interface-tableoutput), [TableOutputBasket](./storage.md#interface-tableoutputbasket), [TableOutputTag](./storage.md#interface-tableoutputtag), [TableOutputX](./storage.md#interface-tableoutputx), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [TableProvenTxReqDynamics](./storage.md#interface-tableproventxreqdynamics), [TableTxLabel](./storage.md#interface-tabletxlabel), [TransactionStatus](./client.md#type-transactionstatus), [TrxToken](./client.md#interface-trxtoken), [UpdateProvenTxReqWithNewProvenTxArgs](./client.md#interface-updateproventxreqwithnewproventxargs), [UpdateProvenTxReqWithNewProvenTxResult](./client.md#interface-updateproventxreqwithnewproventxresult), [WalletServices](./client.md#interface-walletservices), [WalletStorageProvider](./client.md#interface-walletstorageprovider), [attemptToPostReqsToNetwork](./storage.md#function-attempttopostreqstonetwork), [createAction](./storage.md#function-createaction), [getBeefForTransaction](./storage.md#function-getbeeffortransaction), [internalizeAction](./storage.md#function-internalizeaction), [listActions](./storage.md#function-listactions), [listCertificates](./storage.md#function-listcertificates), [listOutputs](./storage.md#function-listoutputs), [logger](./client.md#variable-logger), [processAction](./storage.md#function-processaction), [purgeData](./storage.md#function-purgedata), [reviewStatus](./storage.md#function-reviewstatus)
|
|
3943
|
+
See also: [AdminStatsResult](./storage.md#interface-adminstatsresult), [AuthId](./client.md#interface-authid), [Chain](./client.md#type-chain), [EntityProvenTxReq](./storage.md#class-entityproventxreq), [FindCertificatesArgs](./client.md#interface-findcertificatesargs), [FindOutputBasketsArgs](./client.md#interface-findoutputbasketsargs), [FindOutputsArgs](./client.md#interface-findoutputsargs), [FindStaleMerkleRootsArgs](./client.md#interface-findstalemerklerootsargs), [GetReqsAndBeefResult](./storage.md#interface-getreqsandbeefresult), [PostReqsToNetworkResult](./storage.md#interface-postreqstonetworkresult), [ProcessSyncChunkResult](./client.md#interface-processsyncchunkresult), [ProvenOrRawTx](./client.md#interface-provenorrawtx), [PurgeParams](./client.md#interface-purgeparams), [PurgeResults](./client.md#interface-purgeresults), [RequestSyncChunkArgs](./client.md#interface-requestsyncchunkargs), [StorageCreateActionResult](./client.md#interface-storagecreateactionresult), [StorageFeeModel](./client.md#interface-storagefeemodel), [StorageGetBeefOptions](./client.md#interface-storagegetbeefoptions), [StorageInternalizeActionResult](./client.md#interface-storageinternalizeactionresult), [StorageProcessActionArgs](./client.md#interface-storageprocessactionargs), [StorageProcessActionResults](./client.md#interface-storageprocessactionresults), [StorageProvenOrReq](./client.md#interface-storageprovenorreq), [StorageProviderOptions](./storage.md#interface-storageprovideroptions), [StorageReaderWriter](./storage.md#class-storagereaderwriter), [SyncChunk](./client.md#interface-syncchunk), [TableCertificateX](./storage.md#interface-tablecertificatex), [TableMonitorEvent](./storage.md#interface-tablemonitorevent), [TableOutput](./storage.md#interface-tableoutput), [TableOutputBasket](./storage.md#interface-tableoutputbasket), [TableOutputTag](./storage.md#interface-tableoutputtag), [TableOutputX](./storage.md#interface-tableoutputx), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [TableProvenTxReqDynamics](./storage.md#interface-tableproventxreqdynamics), [TableTxLabel](./storage.md#interface-tabletxlabel), [TransactionStatus](./client.md#type-transactionstatus), [TrxToken](./client.md#interface-trxtoken), [UpdateProvenTxReqWithNewProvenTxArgs](./client.md#interface-updateproventxreqwithnewproventxargs), [UpdateProvenTxReqWithNewProvenTxResult](./client.md#interface-updateproventxreqwithnewproventxresult), [WalletServices](./client.md#interface-walletservices), [WalletStorageProvider](./client.md#interface-walletstorageprovider), [attemptToPostReqsToNetwork](./storage.md#function-attempttopostreqstonetwork), [createAction](./storage.md#function-createaction), [getBeefForTransaction](./storage.md#function-getbeeffortransaction), [internalizeAction](./storage.md#function-internalizeaction), [listActions](./storage.md#function-listactions), [listCertificates](./storage.md#function-listcertificates), [listOutputs](./storage.md#function-listoutputs), [logger](./client.md#variable-logger), [processAction](./storage.md#function-processaction), [purgeData](./storage.md#function-purgedata), [reviewStatus](./storage.md#function-reviewstatus)
|
|
3929
3944
|
|
|
3930
3945
|
###### Method confirmSpendableOutputs
|
|
3931
3946
|
|
|
@@ -4113,6 +4128,7 @@ export abstract class StorageReaderWriter extends StorageReader {
|
|
|
4113
4128
|
abstract findProvenTxReqs(args: FindProvenTxReqsArgs): Promise<TableProvenTxReq[]>;
|
|
4114
4129
|
abstract findProvenTxs(args: FindProvenTxsArgs): Promise<TableProvenTx[]>;
|
|
4115
4130
|
abstract findTxLabelMaps(args: FindTxLabelMapsArgs): Promise<TableTxLabelMap[]>;
|
|
4131
|
+
abstract findStaleMerkleRoots(args: FindStaleMerkleRootsArgs): Promise<string[]>;
|
|
4116
4132
|
abstract countOutputTagMaps(args: FindOutputTagMapsArgs): Promise<number>;
|
|
4117
4133
|
abstract countProvenTxReqs(args: FindProvenTxReqsArgs): Promise<number>;
|
|
4118
4134
|
abstract countProvenTxs(args: FindProvenTxsArgs): Promise<number>;
|
|
@@ -4189,7 +4205,7 @@ export abstract class StorageReaderWriter extends StorageReader {
|
|
|
4189
4205
|
}
|
|
4190
4206
|
```
|
|
4191
4207
|
|
|
4192
|
-
See also: [AuthId](./client.md#interface-authid), [FindOutputTagMapsArgs](./client.md#interface-findoutputtagmapsargs), [FindProvenTxReqsArgs](./client.md#interface-findproventxreqsargs), [FindProvenTxsArgs](./client.md#interface-findproventxsargs), [FindTxLabelMapsArgs](./client.md#interface-findtxlabelmapsargs), [ProcessSyncChunkResult](./client.md#interface-processsyncchunkresult), [RequestSyncChunkArgs](./client.md#interface-requestsyncchunkargs), [StorageReader](./storage.md#class-storagereader), [StorageReaderWriterOptions](./storage.md#interface-storagereaderwriteroptions), [SyncChunk](./client.md#interface-syncchunk), [TableCertificate](./storage.md#interface-tablecertificate), [TableCertificateField](./storage.md#interface-tablecertificatefield), [TableCommission](./storage.md#interface-tablecommission), [TableMonitorEvent](./storage.md#interface-tablemonitorevent), [TableOutput](./storage.md#interface-tableoutput), [TableOutputBasket](./storage.md#interface-tableoutputbasket), [TableOutputTag](./storage.md#interface-tableoutputtag), [TableOutputTagMap](./storage.md#interface-tableoutputtagmap), [TableProvenTx](./storage.md#interface-tableproventx), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [TableSyncState](./storage.md#interface-tablesyncstate), [TableTransaction](./storage.md#interface-tabletransaction), [TableTxLabel](./storage.md#interface-tabletxlabel), [TableTxLabelMap](./storage.md#interface-tabletxlabelmap), [TableUser](./storage.md#interface-tableuser), [TrxToken](./client.md#interface-trxtoken)
|
|
4208
|
+
See also: [AuthId](./client.md#interface-authid), [FindOutputTagMapsArgs](./client.md#interface-findoutputtagmapsargs), [FindProvenTxReqsArgs](./client.md#interface-findproventxreqsargs), [FindProvenTxsArgs](./client.md#interface-findproventxsargs), [FindStaleMerkleRootsArgs](./client.md#interface-findstalemerklerootsargs), [FindTxLabelMapsArgs](./client.md#interface-findtxlabelmapsargs), [ProcessSyncChunkResult](./client.md#interface-processsyncchunkresult), [RequestSyncChunkArgs](./client.md#interface-requestsyncchunkargs), [StorageReader](./storage.md#class-storagereader), [StorageReaderWriterOptions](./storage.md#interface-storagereaderwriteroptions), [SyncChunk](./client.md#interface-syncchunk), [TableCertificate](./storage.md#interface-tablecertificate), [TableCertificateField](./storage.md#interface-tablecertificatefield), [TableCommission](./storage.md#interface-tablecommission), [TableMonitorEvent](./storage.md#interface-tablemonitorevent), [TableOutput](./storage.md#interface-tableoutput), [TableOutputBasket](./storage.md#interface-tableoutputbasket), [TableOutputTag](./storage.md#interface-tableoutputtag), [TableOutputTagMap](./storage.md#interface-tableoutputtagmap), [TableProvenTx](./storage.md#interface-tableproventx), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [TableSyncState](./storage.md#interface-tablesyncstate), [TableTransaction](./storage.md#interface-tabletransaction), [TableTxLabel](./storage.md#interface-tabletxlabel), [TableTxLabelMap](./storage.md#interface-tabletxlabelmap), [TableUser](./storage.md#interface-tableuser), [TrxToken](./client.md#interface-trxtoken)
|
|
4193
4209
|
|
|
4194
4210
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
4195
4211
|
|
|
@@ -4329,6 +4345,7 @@ export class WalletStorageManager implements sdk.WalletStorage {
|
|
|
4329
4345
|
async findOutputs(args: sdk.FindOutputsArgs): Promise<TableOutput[]>
|
|
4330
4346
|
async findProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<TableProvenTxReq[]>
|
|
4331
4347
|
async reproveHeader(deactivatedHash: string): Promise<sdk.ReproveHeaderResult>
|
|
4348
|
+
async reproveHeightMerkleRoot(height: number, staleMerkleRoot: string): Promise<sdk.ReproveHeaderResult>
|
|
4332
4349
|
async reproveProven(ptx: TableProvenTx, noUpdate?: boolean): Promise<sdk.ReproveProvenResult>
|
|
4333
4350
|
async syncFromReader(identityKey: string, reader: sdk.WalletStorageSyncReader, activeSync?: sdk.WalletStorageSync, log: string = ""): Promise<{
|
|
4334
4351
|
inserts: number;
|
|
@@ -4481,6 +4498,18 @@ Argument Details
|
|
|
4481
4498
|
+ **deactivatedHash**
|
|
4482
4499
|
+ An orphaned header than may have served as a proof source for proven_txs records.
|
|
4483
4500
|
|
|
4501
|
+
###### Method reproveHeightMerkleRoot
|
|
4502
|
+
|
|
4503
|
+
For all proven_txs records at the given height currently tied to the given stale merkleRoot,
|
|
4504
|
+
attempt to reprove them against the current chain and update proof data if new valid proofs are found.
|
|
4505
|
+
|
|
4506
|
+
This is intended for backup auditing of recent heights after the primary reorg event path has run.
|
|
4507
|
+
|
|
4508
|
+
```ts
|
|
4509
|
+
async reproveHeightMerkleRoot(height: number, staleMerkleRoot: string): Promise<sdk.ReproveHeaderResult>
|
|
4510
|
+
```
|
|
4511
|
+
See also: [ReproveHeaderResult](./client.md#interface-reproveheaderresult)
|
|
4512
|
+
|
|
4484
4513
|
###### Method reproveProven
|
|
4485
4514
|
|
|
4486
4515
|
Attempt to reprove the transaction against the current chain,
|