@bsv/wallet-toolbox 1.6.23 → 1.6.24
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 +11 -0
- package/docs/client.md +298 -167
- package/docs/monitor.md +126 -23
- package/docs/services.md +86 -37
- package/docs/wallet.md +298 -167
- package/mobile/out/src/index.mobile.d.ts +1 -1
- package/mobile/out/src/index.mobile.js +1 -1
- package/mobile/out/src/monitor/Monitor.d.ts +32 -8
- package/mobile/out/src/monitor/Monitor.d.ts.map +1 -1
- package/mobile/out/src/monitor/Monitor.js +59 -28
- package/mobile/out/src/monitor/Monitor.js.map +1 -1
- package/mobile/out/src/monitor/tasks/TaskCheckNoSends.js +2 -1
- package/mobile/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
- package/mobile/out/src/monitor/tasks/TaskClock.js +3 -2
- package/mobile/out/src/monitor/tasks/TaskClock.js.map +1 -1
- package/mobile/out/src/monitor/tasks/TaskMonitorCallHistory.js +2 -1
- package/mobile/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +1 -1
- package/mobile/out/src/monitor/tasks/TaskNewHeader.js +2 -1
- package/mobile/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
- package/mobile/out/src/monitor/tasks/TaskReorg.d.ts +47 -0
- package/mobile/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskReorg.js +135 -0
- package/mobile/out/src/monitor/tasks/TaskReorg.js.map +1 -0
- package/mobile/out/src/monitor/tasks/TaskSendWaiting.js +2 -1
- package/mobile/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
- package/mobile/out/src/monitor/tasks/TaskUnFail.js +2 -1
- package/mobile/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +4 -0
- package/mobile/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Chaintracks.js +3 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +4 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +3 -1
- package/mobile/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts +5 -0
- package/mobile/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +1 -0
- package/mobile/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js +68 -0
- package/mobile/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -0
- package/mobile/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts +2 -1
- package/mobile/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js +59 -15
- package/mobile/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +4 -61
- package/mobile/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts +13 -0
- package/mobile/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -0
- package/mobile/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +27 -0
- package/mobile/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -0
- package/mobile/out/src/services/chaintracker/chaintracks/index.client.d.ts +2 -28
- package/mobile/out/src/services/chaintracker/chaintracks/index.client.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/index.client.js +2 -50
- package/mobile/out/src/services/chaintracker/chaintracks/index.client.js.map +1 -1
- package/mobile/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +30 -0
- package/mobile/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +1 -0
- package/mobile/out/src/services/chaintracker/chaintracks/index.mobile.js +68 -0
- package/mobile/out/src/services/chaintracker/chaintracks/index.mobile.js.map +1 -0
- package/mobile/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +11 -11
- package/mobile/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
- package/mobile/package-lock.json +7 -6
- package/mobile/package.json +2 -2
- package/out/src/index.mobile.d.ts +1 -1
- package/out/src/index.mobile.js +1 -1
- package/out/src/monitor/Monitor.d.ts +32 -8
- package/out/src/monitor/Monitor.d.ts.map +1 -1
- package/out/src/monitor/Monitor.js +59 -28
- package/out/src/monitor/Monitor.js.map +1 -1
- package/out/src/monitor/MonitorDaemon.d.ts +2 -0
- package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
- package/out/src/monitor/MonitorDaemon.js +3 -1
- package/out/src/monitor/MonitorDaemon.js.map +1 -1
- package/out/src/monitor/__test/MonitorDaemon.man.test.js +30 -39
- package/out/src/monitor/__test/MonitorDaemon.man.test.js.map +1 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.js +2 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
- package/out/src/monitor/tasks/TaskClock.js +3 -2
- package/out/src/monitor/tasks/TaskClock.js.map +1 -1
- package/out/src/monitor/tasks/TaskMonitorCallHistory.js +2 -1
- package/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +1 -1
- package/out/src/monitor/tasks/TaskNewHeader.js +2 -1
- package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
- package/out/src/monitor/tasks/TaskReorg.d.ts +47 -0
- package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -0
- package/out/src/monitor/tasks/TaskReorg.js +135 -0
- package/out/src/monitor/tasks/TaskReorg.js.map +1 -0
- package/out/src/monitor/tasks/TaskSendWaiting.js +2 -1
- package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
- package/out/src/monitor/tasks/TaskUnFail.js +2 -1
- package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +4 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js +3 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +4 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +3 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +3 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js +1 -1
- package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts +5 -0
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js +68 -0
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts +2 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js +66 -22
- package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts +2 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js +59 -15
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts +1 -1
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +4 -61
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.d.ts +14 -0
- package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js +27 -0
- package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts +13 -0
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +27 -0
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/index.all.d.ts +1 -0
- package/out/src/services/chaintracker/chaintracks/index.all.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.all.js +1 -0
- package/out/src/services/chaintracker/chaintracks/index.all.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.client.d.ts +2 -28
- package/out/src/services/chaintracker/chaintracks/index.client.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.client.js +2 -50
- package/out/src/services/chaintracker/chaintracks/index.client.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +30 -0
- package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/index.mobile.js +68 -0
- package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +11 -11
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
- package/out/src/services/chaintracker/index.mobile.d.ts +4 -0
- package/out/src/services/chaintracker/index.mobile.d.ts.map +1 -0
- package/out/src/services/chaintracker/index.mobile.js +20 -0
- package/out/src/services/chaintracker/index.mobile.js.map +1 -0
- package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
- package/out/src/storage/schema/KnexMigrations.js +12 -0
- package/out/src/storage/schema/KnexMigrations.js.map +1 -1
- package/out/test/monitor/Monitor.test.js +32 -29
- package/out/test/monitor/Monitor.test.js.map +1 -1
- package/out/tsconfig.all.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/index.mobile.ts +1 -1
- package/src/monitor/Monitor.ts +94 -29
- package/src/monitor/MonitorDaemon.ts +9 -1
- package/src/monitor/__test/MonitorDaemon.man.test.ts +35 -7
- package/src/monitor/tasks/TaskCheckNoSends.ts +1 -1
- package/src/monitor/tasks/TaskClock.ts +2 -2
- package/src/monitor/tasks/TaskMonitorCallHistory.ts +1 -1
- package/src/monitor/tasks/TaskNewHeader.ts +1 -1
- package/src/monitor/tasks/TaskReorg.ts +139 -0
- package/src/monitor/tasks/TaskSendWaiting.ts +3 -3
- package/src/monitor/tasks/TaskUnFail.ts +1 -1
- package/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.ts +6 -1
- package/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.ts +4 -0
- package/src/services/chaintracker/chaintracks/Chaintracks.ts +3 -1
- package/src/services/chaintracker/chaintracks/ChaintracksService.ts +2 -2
- package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.ts +4 -1
- package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.ts +4 -12
- package/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.ts +3 -1
- package/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.ts +2 -2
- package/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.ts +92 -0
- package/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.ts +84 -25
- package/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.ts +79 -17
- package/src/services/chaintracker/chaintracks/createIdbChaintracks.ts +11 -64
- package/src/services/chaintracker/chaintracks/createKnexChaintracks.ts +65 -0
- package/src/services/chaintracker/chaintracks/createNoDbChaintracks.ts +60 -0
- package/src/services/chaintracker/chaintracks/index.all.ts +1 -0
- package/src/services/chaintracker/chaintracks/index.client.ts +2 -35
- package/src/services/chaintracker/chaintracks/index.mobile.ts +37 -0
- package/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.ts +11 -11
- package/src/services/chaintracker/index.mobile.ts +4 -0
- package/src/storage/schema/KnexMigrations.ts +13 -0
- package/test/monitor/Monitor.test.ts +21 -16
package/docs/monitor.md
CHANGED
|
@@ -21,6 +21,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
21
21
|
|
|
22
22
|
| |
|
|
23
23
|
| --- |
|
|
24
|
+
| [DeactivedHeader](#interface-deactivedheader) |
|
|
24
25
|
| [MonitorDaemonSetup](#interface-monitordaemonsetup) |
|
|
25
26
|
| [MonitorOptions](#interface-monitoroptions) |
|
|
26
27
|
| [TaskPurgeParams](#interface-taskpurgeparams) |
|
|
@@ -29,6 +30,47 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
29
30
|
|
|
30
31
|
---
|
|
31
32
|
|
|
33
|
+
##### Interface: DeactivedHeader
|
|
34
|
+
|
|
35
|
+
```ts
|
|
36
|
+
export interface DeactivedHeader {
|
|
37
|
+
whenMsecs: number;
|
|
38
|
+
tries: number;
|
|
39
|
+
header: BlockHeader;
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
See also: [BlockHeader](./client.md#interface-blockheader)
|
|
44
|
+
|
|
45
|
+
###### Property header
|
|
46
|
+
|
|
47
|
+
The deactivated block header.
|
|
48
|
+
|
|
49
|
+
```ts
|
|
50
|
+
header: BlockHeader
|
|
51
|
+
```
|
|
52
|
+
See also: [BlockHeader](./client.md#interface-blockheader)
|
|
53
|
+
|
|
54
|
+
###### Property tries
|
|
55
|
+
|
|
56
|
+
Number of attempts made to process the header.
|
|
57
|
+
Supports returning deactivation notification to the queue if proof data is not yet available.
|
|
58
|
+
|
|
59
|
+
```ts
|
|
60
|
+
tries: number
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
###### Property whenMsecs
|
|
64
|
+
|
|
65
|
+
To control aging of notification before pursuing updated proof data.
|
|
66
|
+
|
|
67
|
+
```ts
|
|
68
|
+
whenMsecs: number
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
72
|
+
|
|
73
|
+
---
|
|
32
74
|
##### Interface: MonitorDaemonSetup
|
|
33
75
|
|
|
34
76
|
```ts
|
|
@@ -44,10 +86,11 @@ export interface MonitorDaemonSetup {
|
|
|
44
86
|
servicesOptions?: WalletServicesOptions;
|
|
45
87
|
services?: Services;
|
|
46
88
|
monitor?: Monitor;
|
|
89
|
+
chaintracks?: Chaintracks;
|
|
47
90
|
}
|
|
48
91
|
```
|
|
49
92
|
|
|
50
|
-
See also: [Chain](./client.md#type-chain), [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)
|
|
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)
|
|
51
94
|
|
|
52
95
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
53
96
|
|
|
@@ -60,6 +103,7 @@ export interface MonitorOptions {
|
|
|
60
103
|
services: Services;
|
|
61
104
|
storage: MonitorStorage;
|
|
62
105
|
chaintracks: ChaintracksClientApi;
|
|
106
|
+
chaintracksWithEvents?: Chaintracks;
|
|
63
107
|
msecsWaitPerMerkleProofServiceReq: number;
|
|
64
108
|
taskRunWaitMsecs: number;
|
|
65
109
|
abandonedMsecs: number;
|
|
@@ -70,7 +114,7 @@ export interface MonitorOptions {
|
|
|
70
114
|
}
|
|
71
115
|
```
|
|
72
116
|
|
|
73
|
-
See also: [Chain](./client.md#type-chain), [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)
|
|
117
|
+
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)
|
|
74
118
|
|
|
75
119
|
###### Property msecsWaitPerMerkleProofServiceReq
|
|
76
120
|
|
|
@@ -132,13 +176,14 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
132
176
|
|
|
133
177
|
| | |
|
|
134
178
|
| --- | --- |
|
|
135
|
-
| [Monitor](#class-monitor) | [
|
|
136
|
-
| [MonitorDaemon](#class-monitordaemon) | [
|
|
179
|
+
| [Monitor](#class-monitor) | [TaskPurge](#class-taskpurge) |
|
|
180
|
+
| [MonitorDaemon](#class-monitordaemon) | [TaskReorg](#class-taskreorg) |
|
|
137
181
|
| [TaskCheckForProofs](#class-taskcheckforproofs) | [TaskReviewStatus](#class-taskreviewstatus) |
|
|
138
182
|
| [TaskCheckNoSends](#class-taskchecknosends) | [TaskSendWaiting](#class-tasksendwaiting) |
|
|
139
183
|
| [TaskClock](#class-taskclock) | [TaskSyncWhenIdle](#class-tasksyncwhenidle) |
|
|
140
184
|
| [TaskFailAbandoned](#class-taskfailabandoned) | [TaskUnFail](#class-taskunfail) |
|
|
141
185
|
| [TaskMonitorCallHistory](#class-taskmonitorcallhistory) | [WalletMonitorTask](#class-walletmonitortask) |
|
|
186
|
+
| [TaskNewHeader](#class-tasknewheader) | |
|
|
142
187
|
|
|
143
188
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
144
189
|
|
|
@@ -151,20 +196,24 @@ and potentially that reorgs update proofs that were already received.
|
|
|
151
196
|
|
|
152
197
|
```ts
|
|
153
198
|
export class Monitor {
|
|
154
|
-
static createDefaultWalletMonitorOptions(chain: Chain, storage: MonitorStorage, services?: Services): MonitorOptions
|
|
199
|
+
static createDefaultWalletMonitorOptions(chain: Chain, storage: MonitorStorage, services?: Services, chaintracks?: Chaintracks): MonitorOptions
|
|
155
200
|
options: MonitorOptions;
|
|
156
201
|
services: Services;
|
|
157
202
|
chain: Chain;
|
|
158
203
|
storage: MonitorStorage;
|
|
159
204
|
chaintracks: ChaintracksClientApi;
|
|
205
|
+
chaintracksWithEvents?: Chaintracks;
|
|
206
|
+
reorgSubscriptionPromise?: Promise<string>;
|
|
207
|
+
headersSubscriptionPromise?: Promise<string>;
|
|
160
208
|
onTransactionBroadcasted?: (broadcastResult: ReviewActionResult) => Promise<void>;
|
|
161
209
|
onTransactionProven?: (txStatus: ProvenTransactionStatus) => Promise<void>;
|
|
162
210
|
constructor(options: MonitorOptions)
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
211
|
+
async destroy(): Promise<void>
|
|
212
|
+
static readonly oneSecond = 1000;
|
|
213
|
+
static readonly oneMinute = 60 * Monitor.oneSecond;
|
|
214
|
+
static readonly oneHour = 60 * Monitor.oneMinute;
|
|
215
|
+
static readonly oneDay = 24 * Monitor.oneHour;
|
|
216
|
+
static readonly oneWeek = 7 * Monitor.oneDay;
|
|
168
217
|
_tasks: WalletMonitorTask[] = [];
|
|
169
218
|
_otherTasks: WalletMonitorTask[] = [];
|
|
170
219
|
_tasksRunning = false;
|
|
@@ -172,19 +221,20 @@ export class Monitor {
|
|
|
172
221
|
purgeSpent: false,
|
|
173
222
|
purgeCompleted: false,
|
|
174
223
|
purgeFailed: true,
|
|
175
|
-
purgeSpentAge: 2 *
|
|
176
|
-
purgeCompletedAge: 2 *
|
|
177
|
-
purgeFailedAge: 5 *
|
|
224
|
+
purgeSpentAge: 2 * Monitor.oneWeek,
|
|
225
|
+
purgeCompletedAge: 2 * Monitor.oneWeek,
|
|
226
|
+
purgeFailedAge: 5 * Monitor.oneDay
|
|
178
227
|
};
|
|
179
228
|
addAllTasksToOther(): void
|
|
180
229
|
addDefaultTasks(): void
|
|
181
230
|
addMultiUserTasks(): void
|
|
182
231
|
addTask(task: WalletMonitorTask): void
|
|
183
232
|
removeTask(name: string): void
|
|
184
|
-
async setupChaintracksListeners(): Promise<void>
|
|
185
233
|
async runTask(name: string): Promise<string>
|
|
186
234
|
async runOnce(): Promise<void>
|
|
187
235
|
_runAsyncSetup: boolean = true;
|
|
236
|
+
_tasksRunningPromise?: PromiseLike<void>;
|
|
237
|
+
resolveCompletion: ((value: void | PromiseLike<void>) => void) | undefined = undefined;
|
|
188
238
|
async startTasks(): Promise<void>
|
|
189
239
|
async logEvent(event: string, details?: string): Promise<void>
|
|
190
240
|
stopTasks(): void
|
|
@@ -193,11 +243,13 @@ export class Monitor {
|
|
|
193
243
|
processNewBlockHeader(header: BlockHeader): void
|
|
194
244
|
callOnBroadcastedTransaction(broadcastResult: ReviewActionResult): void
|
|
195
245
|
callOnProvenTransaction(txStatus: ProvenTransactionStatus): void
|
|
196
|
-
|
|
246
|
+
deactivatedHeaders: DeactivedHeader[] = [];
|
|
247
|
+
processReorg(depth: number, oldTip: BlockHeader, newTip: BlockHeader, deactivatedHeaders?: BlockHeader[]): void
|
|
248
|
+
processHeader(header: BlockHeader): void
|
|
197
249
|
}
|
|
198
250
|
```
|
|
199
251
|
|
|
200
|
-
See also: [BlockHeader](./client.md#interface-blockheader), [Chain](./client.md#type-chain), [ChaintracksClientApi](./services.md#interface-chaintracksclientapi), [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)
|
|
252
|
+
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)
|
|
201
253
|
|
|
202
254
|
###### Property _otherTasks
|
|
203
255
|
|
|
@@ -280,7 +332,7 @@ It is possible for a transaction to become invalid.
|
|
|
280
332
|
Coinbase transactions always become invalid.
|
|
281
333
|
|
|
282
334
|
```ts
|
|
283
|
-
processReorg(depth: number, oldTip: BlockHeader, newTip: BlockHeader): void
|
|
335
|
+
processReorg(depth: number, oldTip: BlockHeader, newTip: BlockHeader, deactivatedHeaders?: BlockHeader[]): void
|
|
284
336
|
```
|
|
285
337
|
See also: [BlockHeader](./client.md#interface-blockheader)
|
|
286
338
|
|
|
@@ -376,7 +428,7 @@ the original ProvenTxReq status is advanced to 'notifying'.
|
|
|
376
428
|
export class TaskCheckNoSends extends WalletMonitorTask {
|
|
377
429
|
static taskName = "CheckNoSends";
|
|
378
430
|
static checkNow = false;
|
|
379
|
-
constructor(monitor: Monitor, public triggerMsecs =
|
|
431
|
+
constructor(monitor: Monitor, public triggerMsecs = Monitor.oneDay * 1)
|
|
380
432
|
trigger(nowMsecsSinceEpoch: number): {
|
|
381
433
|
run: boolean;
|
|
382
434
|
}
|
|
@@ -414,7 +466,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
414
466
|
export class TaskClock extends WalletMonitorTask {
|
|
415
467
|
static taskName = "Clock";
|
|
416
468
|
nextMinute: number;
|
|
417
|
-
constructor(monitor: Monitor, public triggerMsecs = 1 *
|
|
469
|
+
constructor(monitor: Monitor, public triggerMsecs = 1 * Monitor.oneSecond)
|
|
418
470
|
trigger(nowMsecsSinceEpoch: number): {
|
|
419
471
|
run: boolean;
|
|
420
472
|
}
|
|
@@ -458,7 +510,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
458
510
|
```ts
|
|
459
511
|
export class TaskMonitorCallHistory extends WalletMonitorTask {
|
|
460
512
|
static taskName = "MonitorCallHistory";
|
|
461
|
-
constructor(monitor: Monitor, public triggerMsecs =
|
|
513
|
+
constructor(monitor: Monitor, public triggerMsecs = Monitor.oneMinute * 12)
|
|
462
514
|
trigger(nowMsecsSinceEpoch: number): {
|
|
463
515
|
run: boolean;
|
|
464
516
|
}
|
|
@@ -490,7 +542,7 @@ export class TaskNewHeader extends WalletMonitorTask {
|
|
|
490
542
|
header?: BlockHeader;
|
|
491
543
|
queuedHeader?: BlockHeader;
|
|
492
544
|
queuedHeaderWhen?: Date;
|
|
493
|
-
constructor(monitor: Monitor, public triggerMsecs = 1 *
|
|
545
|
+
constructor(monitor: Monitor, public triggerMsecs = 1 * Monitor.oneMinute)
|
|
494
546
|
async getHeader(): Promise<BlockHeader>
|
|
495
547
|
override async asyncSetup(): Promise<void>
|
|
496
548
|
trigger(nowMsecsSinceEpoch: number): {
|
|
@@ -568,6 +620,57 @@ static checkNow = false
|
|
|
568
620
|
|
|
569
621
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
570
622
|
|
|
623
|
+
---
|
|
624
|
+
##### Class: TaskReorg
|
|
625
|
+
|
|
626
|
+
Check the `monitor.deactivatedHeaders` for any headers that have been deactivated.
|
|
627
|
+
|
|
628
|
+
When headers are found, review matching ProvenTx records and update proof data as appropriate.
|
|
629
|
+
|
|
630
|
+
New deactivated headers are pushed onto the `deactivatedHeaders` array.
|
|
631
|
+
They must be shifted out as they are processed.
|
|
632
|
+
|
|
633
|
+
The current implementation ages deactivation notifications by 10 minutes with each retry.
|
|
634
|
+
If a successful proof update confirms original proof data after 3 retries, the original is retained.
|
|
635
|
+
|
|
636
|
+
In normal operation there should never be any work for this task to perform.
|
|
637
|
+
The most common result is that there are no matching proven_txs records because
|
|
638
|
+
generating new proven_txs records intentionally lags new block generation to
|
|
639
|
+
minimize this disruption.
|
|
640
|
+
|
|
641
|
+
It is very disruptive to update a proven_txs record because:
|
|
642
|
+
- Sync'ed storage is impacted.
|
|
643
|
+
- Generated beefs are impacted.
|
|
644
|
+
- Updated proof data may be unavailable at the time a reorg is first reported.
|
|
645
|
+
|
|
646
|
+
Instead of reorg notification derived from new header notification, reorg repair to
|
|
647
|
+
the proven_txs table is more effectively driven by noticing that a beef generated for a new
|
|
648
|
+
createAction fails to verify against the chaintracker.
|
|
649
|
+
|
|
650
|
+
An alternate approach to processing these events is to revert the proven_txs record to a proven_tx_reqs record.
|
|
651
|
+
Pros:
|
|
652
|
+
- The same multiple attempt logic that already exists is reused.
|
|
653
|
+
- Failing to obtain a new proof already has transaction failure handling in place.
|
|
654
|
+
- Generated beefs automatically become one generation deeper, potentially allowing transaction outputs to be spent.
|
|
655
|
+
Cons:
|
|
656
|
+
- Transactions must revert to un-proven / un-mined.
|
|
657
|
+
|
|
658
|
+
```ts
|
|
659
|
+
export class TaskReorg extends WalletMonitorTask {
|
|
660
|
+
static taskName = "Reorg";
|
|
661
|
+
process: DeactivedHeader[] = [];
|
|
662
|
+
constructor(monitor: Monitor, public agedMsecs = Monitor.oneMinute * 10, public maxRetries = 3)
|
|
663
|
+
trigger(nowMsecsSinceEpoch: number): {
|
|
664
|
+
run: boolean;
|
|
665
|
+
}
|
|
666
|
+
async runTask(): Promise<string>
|
|
667
|
+
}
|
|
668
|
+
```
|
|
669
|
+
|
|
670
|
+
See also: [DeactivedHeader](./monitor.md#interface-deactivedheader), [Monitor](./monitor.md#class-monitor), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
|
|
671
|
+
|
|
672
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
673
|
+
|
|
571
674
|
---
|
|
572
675
|
##### Class: TaskReviewStatus
|
|
573
676
|
|
|
@@ -611,7 +714,7 @@ export class TaskSendWaiting extends WalletMonitorTask {
|
|
|
611
714
|
static taskName = "SendWaiting";
|
|
612
715
|
lastSendingRunMsecsSinceEpoch: number | undefined;
|
|
613
716
|
includeSending: boolean = true;
|
|
614
|
-
constructor(monitor: Monitor, public triggerMsecs =
|
|
717
|
+
constructor(monitor: Monitor, public triggerMsecs = Monitor.oneSecond * 8, public agedMsecs = Monitor.oneSecond * 7, public sendingMsecs = Monitor.oneMinute * 5)
|
|
615
718
|
trigger(nowMsecsSinceEpoch: number): {
|
|
616
719
|
run: boolean;
|
|
617
720
|
}
|
|
@@ -679,7 +782,7 @@ If it fails (to find a merklePath), returns the req status to 'invalid'.
|
|
|
679
782
|
export class TaskUnFail extends WalletMonitorTask {
|
|
680
783
|
static taskName = "UnFail";
|
|
681
784
|
static checkNow = false;
|
|
682
|
-
constructor(monitor: Monitor, public triggerMsecs =
|
|
785
|
+
constructor(monitor: Monitor, public triggerMsecs = Monitor.oneMinute * 10)
|
|
683
786
|
trigger(nowMsecsSinceEpoch: number): {
|
|
684
787
|
run: boolean;
|
|
685
788
|
}
|
package/docs/services.md
CHANGED
|
@@ -4828,25 +4828,26 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
4828
4828
|
|
|
4829
4829
|
| | | |
|
|
4830
4830
|
| --- | --- | --- |
|
|
4831
|
-
| [WocHeadersBulkListener](#function-wocheadersbulklistener) | [
|
|
4832
|
-
| [WocHeadersBulkListener_test](#function-wocheadersbulklistener_test) | [
|
|
4833
|
-
| [WocHeadersLiveListener](#function-wocheaderslivelistener) | [
|
|
4834
|
-
| [WocHeadersLiveListener_test](#function-wocheaderslivelistener_test) | [
|
|
4835
|
-
| [addWork](#function-addwork) | [
|
|
4836
|
-
| [arcDefaultUrl](#function-arcdefaulturl) | [
|
|
4837
|
-
| [arcGorillaPoolUrl](#function-arcgorillapoolurl) | [
|
|
4838
|
-
| [blockHash](#function-blockhash) | [
|
|
4839
|
-
| [convertBitsToTarget](#function-convertbitstotarget) | [
|
|
4840
|
-
| [convertBitsToWork](#function-convertbitstowork) | [
|
|
4841
|
-
| [convertBufferToUint32](#function-convertbuffertouint32) | [
|
|
4842
|
-
| [convertUint32ToBuffer](#function-convertuint32tobuffer) | [
|
|
4843
|
-
| [convertWocToBlockHeaderHex](#function-convertwoctoblockheaderhex) | [
|
|
4844
|
-
| [
|
|
4845
|
-
| [
|
|
4846
|
-
| [
|
|
4847
|
-
| [
|
|
4848
|
-
| [
|
|
4849
|
-
| [
|
|
4831
|
+
| [WocHeadersBulkListener](#function-wocheadersbulklistener) | [deserializeBaseBlockHeader](#function-deserializebaseblockheader) | [sha256HashOfBinaryFile](#function-sha256hashofbinaryfile) |
|
|
4832
|
+
| [WocHeadersBulkListener_test](#function-wocheadersbulklistener_test) | [deserializeBaseBlockHeaders](#function-deserializebaseblockheaders) | [subWork](#function-subwork) |
|
|
4833
|
+
| [WocHeadersLiveListener](#function-wocheaderslivelistener) | [deserializeBlockHeader](#function-deserializeblockheader) | [swapByteOrder](#function-swapbyteorder) |
|
|
4834
|
+
| [WocHeadersLiveListener_test](#function-wocheaderslivelistener_test) | [deserializeBlockHeaders](#function-deserializeblockheaders) | [toBinaryBaseBlockHeader](#function-tobinarybaseblockheader) |
|
|
4835
|
+
| [addWork](#function-addwork) | [genesisBuffer](#function-genesisbuffer) | [updateChaintracksFiatExchangeRates](#function-updatechaintracksfiatexchangerates) |
|
|
4836
|
+
| [arcDefaultUrl](#function-arcdefaulturl) | [genesisHeader](#function-genesisheader) | [updateExchangeratesapi](#function-updateexchangeratesapi) |
|
|
4837
|
+
| [arcGorillaPoolUrl](#function-arcgorillapoolurl) | [getBeefForTxid](#function-getbeeffortxid) | [validBulkHeaderFilesByFileHash](#function-validbulkheaderfilesbyfilehash) |
|
|
4838
|
+
| [blockHash](#function-blockhash) | [getExchangeRatesIo](#function-getexchangeratesio) | [validateAgainstDirtyHashes](#function-validateagainstdirtyhashes) |
|
|
4839
|
+
| [convertBitsToTarget](#function-convertbitstotarget) | [getWhatsOnChainBlockHeaderByHash](#function-getwhatsonchainblockheaderbyhash) | [validateBufferOfHeaders](#function-validatebufferofheaders) |
|
|
4840
|
+
| [convertBitsToWork](#function-convertbitstowork) | [isBaseBlockHeader](#function-isbaseblockheader) | [validateBulkFileData](#function-validatebulkfiledata) |
|
|
4841
|
+
| [convertBufferToUint32](#function-convertbuffertouint32) | [isBlockHeader](#function-isblockheader) | [validateGenesisHeader](#function-validategenesisheader) |
|
|
4842
|
+
| [convertUint32ToBuffer](#function-convertuint32tobuffer) | [isKnownValidBulkHeaderFile](#function-isknownvalidbulkheaderfile) | [validateHeaderDifficulty](#function-validateheaderdifficulty) |
|
|
4843
|
+
| [convertWocToBlockHeaderHex](#function-convertwoctoblockheaderhex) | [isLive](#function-islive) | [validateHeaderFormat](#function-validateheaderformat) |
|
|
4844
|
+
| [createDefaultIdbChaintracksOptions](#function-createdefaultidbchaintracksoptions) | [isLiveBlockHeader](#function-isliveblockheader) | [validateScriptHash](#function-validatescripthash) |
|
|
4845
|
+
| [createDefaultKnexChaintracksOptions](#function-createdefaultknexchaintracksoptions) | [isMoreWork](#function-ismorework) | [wocGetHeadersHeaderToBlockHeader](#function-wocgetheadersheadertoblockheader) |
|
|
4846
|
+
| [createDefaultNoDbChaintracksOptions](#function-createdefaultnodbchaintracksoptions) | [readUInt32BE](#function-readuint32be) | [workBNtoBuffer](#function-workbntobuffer) |
|
|
4847
|
+
| [createDefaultWalletServicesOptions](#function-createdefaultwalletservicesoptions) | [readUInt32LE](#function-readuint32le) | [writeUInt32BE](#function-writeuint32be) |
|
|
4848
|
+
| [createIdbChaintracks](#function-createidbchaintracks) | [selectBulkHeaderFiles](#function-selectbulkheaderfiles) | [writeUInt32LE](#function-writeuint32le) |
|
|
4849
|
+
| [createKnexChaintracks](#function-createknexchaintracks) | [serializeBaseBlockHeader](#function-serializebaseblockheader) | |
|
|
4850
|
+
| [createNoDbChaintracks](#function-createnodbchaintracks) | [serializeBaseBlockHeaders](#function-serializebaseblockheaders) | |
|
|
4850
4851
|
|
|
4851
4852
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
4852
4853
|
|
|
@@ -5111,14 +5112,25 @@ See also: [BlockHeader](./client.md#interface-blockheader), [WocHeader](./servic
|
|
|
5111
5112
|
|
|
5112
5113
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
5113
5114
|
|
|
5115
|
+
---
|
|
5116
|
+
##### Function: createDefaultIdbChaintracksOptions
|
|
5117
|
+
|
|
5118
|
+
```ts
|
|
5119
|
+
export function createDefaultIdbChaintracksOptions(chain: Chain, whatsonchainApiKey: string = "", maxPerFile: number = 100000, maxRetained: number = 2, fetch?: ChaintracksFetchApi, cdnUrl: string = "https://cdn.projectbabbage.com/blockheaders/", liveHeightThreshold: number = 2000, reorgHeightThreshold: number = 400, bulkMigrationChunkSize: number = 500, batchInsertLimit: number = 400, addLiveRecursionLimit: number = 36): ChaintracksOptions
|
|
5120
|
+
```
|
|
5121
|
+
|
|
5122
|
+
See also: [Chain](./client.md#type-chain), [ChaintracksFetchApi](./services.md#interface-chaintracksfetchapi), [ChaintracksOptions](./services.md#interface-chaintracksoptions)
|
|
5123
|
+
|
|
5124
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
5125
|
+
|
|
5114
5126
|
---
|
|
5115
5127
|
##### Function: createDefaultKnexChaintracksOptions
|
|
5116
5128
|
|
|
5117
5129
|
```ts
|
|
5118
|
-
export function createDefaultKnexChaintracksOptions(chain: Chain, rootFolder
|
|
5130
|
+
export function createDefaultKnexChaintracksOptions(chain: Chain, rootFolder: string = "./data/", knexConfig?: Knex.Config, whatsonchainApiKey: string = "", maxPerFile: number = 100000, maxRetained: number = 2, fetch?: ChaintracksFetchApi, cdnUrl: string = "https://cdn.projectbabbage.com/blockheaders/", liveHeightThreshold: number = 2000, reorgHeightThreshold: number = 400, bulkMigrationChunkSize: number = 500, batchInsertLimit: number = 400, addLiveRecursionLimit: number = 36): ChaintracksOptions
|
|
5119
5131
|
```
|
|
5120
5132
|
|
|
5121
|
-
See also: [Chain](./client.md#type-chain), [ChaintracksOptions](./services.md#interface-chaintracksoptions)
|
|
5133
|
+
See also: [Chain](./client.md#type-chain), [ChaintracksFetchApi](./services.md#interface-chaintracksfetchapi), [ChaintracksOptions](./services.md#interface-chaintracksoptions)
|
|
5122
5134
|
|
|
5123
5135
|
Argument Details
|
|
5124
5136
|
|
|
@@ -5127,6 +5139,17 @@ Argument Details
|
|
|
5127
5139
|
|
|
5128
5140
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
5129
5141
|
|
|
5142
|
+
---
|
|
5143
|
+
##### Function: createDefaultNoDbChaintracksOptions
|
|
5144
|
+
|
|
5145
|
+
```ts
|
|
5146
|
+
export function createDefaultNoDbChaintracksOptions(chain: Chain, whatsonchainApiKey: string = "", maxPerFile: number = 100000, maxRetained: number = 2, fetch?: ChaintracksFetchApi, cdnUrl: string = "https://cdn.projectbabbage.com/blockheaders/", liveHeightThreshold: number = 2000, reorgHeightThreshold: number = 400, bulkMigrationChunkSize: number = 500, batchInsertLimit: number = 400, addLiveRecursionLimit: number = 36): ChaintracksOptions
|
|
5147
|
+
```
|
|
5148
|
+
|
|
5149
|
+
See also: [Chain](./client.md#type-chain), [ChaintracksFetchApi](./services.md#interface-chaintracksfetchapi), [ChaintracksOptions](./services.md#interface-chaintracksoptions)
|
|
5150
|
+
|
|
5151
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
5152
|
+
|
|
5130
5153
|
---
|
|
5131
5154
|
##### Function: createDefaultWalletServicesOptions
|
|
5132
5155
|
|
|
@@ -5142,7 +5165,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
5142
5165
|
##### Function: createIdbChaintracks
|
|
5143
5166
|
|
|
5144
5167
|
```ts
|
|
5145
|
-
export async function createIdbChaintracks(chain: Chain, whatsonchainApiKey: string, maxPerFile: number = 100000, maxRetained: number = 2, fetch?: ChaintracksFetchApi, cdnUrl: string = "https://cdn.projectbabbage.com/blockheaders/", liveHeightThreshold: number = 2000, reorgHeightThreshold: number = 400, bulkMigrationChunkSize: number = 500, batchInsertLimit: number = 400, addLiveRecursionLimit: number = 36): Promise<{
|
|
5168
|
+
export async function createIdbChaintracks(chain: Chain, whatsonchainApiKey: string = "", maxPerFile: number = 100000, maxRetained: number = 2, fetch?: ChaintracksFetchApi, cdnUrl: string = "https://cdn.projectbabbage.com/blockheaders/", liveHeightThreshold: number = 2000, reorgHeightThreshold: number = 400, bulkMigrationChunkSize: number = 500, batchInsertLimit: number = 400, addLiveRecursionLimit: number = 36): Promise<{
|
|
5146
5169
|
chain: Chain;
|
|
5147
5170
|
maxPerFile: number;
|
|
5148
5171
|
fetch: ChaintracksFetchApi;
|
|
@@ -5157,13 +5180,38 @@ See also: [Chain](./client.md#type-chain), [Chaintracks](./services.md#class-cha
|
|
|
5157
5180
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
5158
5181
|
|
|
5159
5182
|
---
|
|
5160
|
-
##### Function:
|
|
5183
|
+
##### Function: createKnexChaintracks
|
|
5184
|
+
|
|
5185
|
+
```ts
|
|
5186
|
+
export async function createKnexChaintracks(chain: Chain, rootFolder: string = "./data/", knexConfig?: Knex.Config, whatsonchainApiKey: string = "", maxPerFile: number = 100000, maxRetained: number = 2, fetch?: ChaintracksFetchApi, cdnUrl: string = "https://cdn.projectbabbage.com/blockheaders/", liveHeightThreshold: number = 2000, reorgHeightThreshold: number = 400, bulkMigrationChunkSize: number = 500, batchInsertLimit: number = 400, addLiveRecursionLimit: number = 36): Promise<{
|
|
5187
|
+
chain: Chain;
|
|
5188
|
+
maxPerFile: number;
|
|
5189
|
+
fetch: ChaintracksFetchApi;
|
|
5190
|
+
storage: ChaintracksStorageKnex;
|
|
5191
|
+
chaintracks: Chaintracks;
|
|
5192
|
+
available: Promise<void>;
|
|
5193
|
+
}>
|
|
5194
|
+
```
|
|
5195
|
+
|
|
5196
|
+
See also: [Chain](./client.md#type-chain), [Chaintracks](./services.md#class-chaintracks), [ChaintracksFetchApi](./services.md#interface-chaintracksfetchapi), [ChaintracksStorageKnex](./services.md#class-chaintracksstorageknex)
|
|
5197
|
+
|
|
5198
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
5199
|
+
|
|
5200
|
+
---
|
|
5201
|
+
##### Function: createNoDbChaintracks
|
|
5161
5202
|
|
|
5162
5203
|
```ts
|
|
5163
|
-
export function
|
|
5204
|
+
export async function createNoDbChaintracks(chain: Chain, whatsonchainApiKey: string = "", maxPerFile: number = 100000, maxRetained: number = 2, fetch?: ChaintracksFetchApi, cdnUrl: string = "https://cdn.projectbabbage.com/blockheaders/", liveHeightThreshold: number = 2000, reorgHeightThreshold: number = 400, bulkMigrationChunkSize: number = 500, batchInsertLimit: number = 400, addLiveRecursionLimit: number = 36): Promise<{
|
|
5205
|
+
chain: Chain;
|
|
5206
|
+
maxPerFile: number;
|
|
5207
|
+
fetch: ChaintracksFetchApi;
|
|
5208
|
+
storage: ChaintracksStorageNoDb;
|
|
5209
|
+
chaintracks: Chaintracks;
|
|
5210
|
+
available: Promise<void>;
|
|
5211
|
+
}>
|
|
5164
5212
|
```
|
|
5165
5213
|
|
|
5166
|
-
See also: [Chain](./client.md#type-chain), [
|
|
5214
|
+
See also: [Chain](./client.md#type-chain), [Chaintracks](./services.md#class-chaintracks), [ChaintracksFetchApi](./services.md#interface-chaintracksfetchapi), [ChaintracksStorageNoDb](./services.md#class-chaintracksstoragenodb)
|
|
5167
5215
|
|
|
5168
5216
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
5169
5217
|
|
|
@@ -5879,6 +5927,7 @@ export type InsertHeaderResult = {
|
|
|
5879
5927
|
isActiveTip: boolean;
|
|
5880
5928
|
reorgDepth: number;
|
|
5881
5929
|
priorTip: LiveBlockHeader | undefined;
|
|
5930
|
+
deactivatedHeaders: LiveBlockHeader[];
|
|
5882
5931
|
noPrev: boolean;
|
|
5883
5932
|
badPrev: boolean;
|
|
5884
5933
|
noActiveAncestor: boolean;
|
|
@@ -5894,7 +5943,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
5894
5943
|
##### Type: ReorgListener
|
|
5895
5944
|
|
|
5896
5945
|
```ts
|
|
5897
|
-
export type ReorgListener = (depth: number, oldTip: BlockHeader, newTip: BlockHeader) => void
|
|
5946
|
+
export type ReorgListener = (depth: number, oldTip: BlockHeader, newTip: BlockHeader, deactivatedHeaders?: BlockHeader[]) => void
|
|
5898
5947
|
```
|
|
5899
5948
|
|
|
5900
5949
|
See also: [BlockHeader](./client.md#interface-blockheader)
|
|
@@ -6161,16 +6210,16 @@ validBulkHeaderFiles: BulkHeaderFileInfo[] = [
|
|
|
6161
6210
|
validated: true
|
|
6162
6211
|
},
|
|
6163
6212
|
{
|
|
6164
|
-
|
|
6213
|
+
chain: "test",
|
|
6214
|
+
count: 95262,
|
|
6215
|
+
fileHash: "BvNO9eeMwCaN1Xsx8PQLMJ+YiqF9FrNe+9WnnEo9B44=",
|
|
6165
6216
|
fileName: "testNet_16.headers",
|
|
6166
6217
|
firstHeight: 1600000,
|
|
6167
|
-
|
|
6168
|
-
|
|
6169
|
-
lastHash: "0000000035ba2558f604ff73909944235b8094f07c0efa9c91f59b62b4920516",
|
|
6170
|
-
fileHash: "jw+ItRm5zjngLuuClRZONclYWCC66wPovV3XPF585KU=",
|
|
6171
|
-
lastChainWork: "00000000000000000000000000000000000000000000015814b79f747a43902a",
|
|
6218
|
+
lastChainWork: "00000000000000000000000000000000000000000000015814b84c3f9834ef93",
|
|
6219
|
+
lastHash: "000000000ca922c841cb7fedd8f012ebc27b17991c9b00a8fb7ca4b1b2b648d3",
|
|
6172
6220
|
prevChainWork: "000000000000000000000000000000000000000000000156c3b84396da4e60b9",
|
|
6173
|
-
|
|
6221
|
+
prevHash: "00000000000005504bfd1a3ce4688c30c86740390102b6cd464a2fb5e0e3fed1",
|
|
6222
|
+
sourceUrl: "https://cdn.projectbabbage.com/blockheaders",
|
|
6174
6223
|
validated: true
|
|
6175
6224
|
},
|
|
6176
6225
|
{
|
|
@@ -6305,12 +6354,12 @@ validBulkHeaderFiles: BulkHeaderFileInfo[] = [
|
|
|
6305
6354
|
},
|
|
6306
6355
|
{
|
|
6307
6356
|
chain: "main",
|
|
6308
|
-
count:
|
|
6309
|
-
fileHash: "
|
|
6357
|
+
count: 15512,
|
|
6358
|
+
fileHash: "sbLY7ZiEWkdvgAbZlWxYJfd/CLxeYPtuwHrc4WZ0aL4=",
|
|
6310
6359
|
fileName: "mainNet_9.headers",
|
|
6311
6360
|
firstHeight: 900000,
|
|
6312
|
-
lastChainWork: "
|
|
6313
|
-
lastHash: "
|
|
6361
|
+
lastChainWork: "00000000000000000000000000000000000000000168d586f9048fd69f17e1ca",
|
|
6362
|
+
lastHash: "000000000000000004c5e39626c72e67d669135a7c004ee86f7191e3ed01cdee",
|
|
6314
6363
|
prevChainWork: "000000000000000000000000000000000000000001664db1f2d50327928007e0",
|
|
6315
6364
|
prevHash: "00000000000000000e7dcc27c06ee353bd37260b2e7e664314c204f0324a5087",
|
|
6316
6365
|
sourceUrl: "https://cdn.projectbabbage.com/blockheaders",
|