@bsv/wallet-toolbox 2.8.0 → 2.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -3
- package/README.md +9 -1
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.d.ts +22 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.d.ts +70 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.js +21 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +33 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +6 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +9 -3
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js +45 -5
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts +3 -0
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +2 -1
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.all.d.ts +2 -0
- package/out/src/services/chaintracker/chaintracks/index.all.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.all.js +2 -0
- package/out/src/services/chaintracker/chaintracks/index.all.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +2 -0
- package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.mobile.js +2 -0
- package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts +15 -2
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js +115 -13
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +17 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +174 -87
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts +32 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js +30 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +2 -2
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +5 -3
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts +39 -0
- package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js +194 -0
- package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.d.ts +1 -0
- package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.js +1 -0
- package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts +12 -0
- package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js +52 -0
- package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts +40 -0
- package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js +207 -0
- package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js.map +1 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -19,9 +19,20 @@ attention to changes that materially alter behavior or extend functionality.
|
|
|
19
19
|
quorum-confirmed stuck height before optional recovery. The reviewed platform
|
|
20
20
|
service seam also accepts a composed SDK `chainTracker` directly while
|
|
21
21
|
retaining the existing client-wrapping default. The reviewed platform
|
|
22
|
-
ceilings advance to 1,
|
|
23
|
-
3,
|
|
24
|
-
|
|
22
|
+
ceilings advance to 1,601,000 Vite bytes, 1,249,000 esbuild bytes, and
|
|
23
|
+
3,358,000 Hermes bytes; their matching gzip/Brotli ceilings are
|
|
24
|
+
377,000/296,000, 344,000/276,000, and 1,360,000/1,070,000 bytes.
|
|
25
|
+
- Keep ChainTracks availability independent of immutable-header verification:
|
|
26
|
+
stale heights now return immediately behind a single refresh, complete
|
|
27
|
+
digest/linkage/chain-work/proof-of-work validation can run in a bounded Node
|
|
28
|
+
worker pool, and historical reads release the manager lock before disk,
|
|
29
|
+
network, or worker waits. Filesystem caches use content-addressed objects,
|
|
30
|
+
quarantine rejected entries, and promote validated legacy files without
|
|
31
|
+
deleting the only retained copy. A crash-safe download ledger reserves every
|
|
32
|
+
physical retry before network I/O and survives restarts; failed objects back
|
|
33
|
+
off before another attempt. The reference server keeps probes local, applies
|
|
34
|
+
separate historical concurrency admission, and publishes complete CDN
|
|
35
|
+
generations behind an atomic pointer while retaining rollback generations.
|
|
25
36
|
- Age proactive pending-transaction review from immutable request creation
|
|
26
37
|
time, so repeated proof polling cannot keep a rejected transaction below the
|
|
27
38
|
reconciliation threshold forever. A descendant of a locally terminal parent
|
package/README.md
CHANGED
|
@@ -72,7 +72,15 @@ Browser, mobile, and Node applications can instead make a persisted local
|
|
|
72
72
|
ChainTracks instance their primary SDK `ChainTracker`. Immutable checkpoint
|
|
73
73
|
assets are read through `BulkFileDataCacheApi` before any network request;
|
|
74
74
|
downloaded objects are length-, SHA-256-, linkage-, chain-work-, genesis-, and
|
|
75
|
-
proof-of-work-validated before use.
|
|
75
|
+
proof-of-work-validated before use. Stale present-height reads return the
|
|
76
|
+
last-good value immediately while one coalesced refresh runs in the background.
|
|
77
|
+
Node services can inject `NodeBulkFileDataValidator` to transfer complete-object
|
|
78
|
+
verification through a bounded worker pool; browser and mobile builds retain
|
|
79
|
+
the portable `InlineBulkFileDataValidator`. Filesystem deployments can combine
|
|
80
|
+
the content-addressed, quarantining `BulkFileDataCacheFs` with
|
|
81
|
+
`DurableFileBulkFileDownloadBudget`, which flushes a conservative reservation
|
|
82
|
+
before every physical attempt and preserves the allowance across restarts.
|
|
83
|
+
`LocalChainTracker` reserves remote clients
|
|
76
84
|
for explicit remote-only mode, local exceptions, and quorum-backed consistency
|
|
77
85
|
or recovery checks. See
|
|
78
86
|
[Local-first ChainTracks](./docs/local-first-chaintracks.md) for packaging,
|
|
@@ -11,6 +11,19 @@ import type { BulkHeaderFileInfo } from '../util/BulkHeaderFile';
|
|
|
11
11
|
export interface BulkFileDataCacheApi {
|
|
12
12
|
get(file: Readonly<BulkHeaderFileInfo>): Promise<Uint8Array | undefined>;
|
|
13
13
|
set(file: Readonly<BulkHeaderFileInfo>, data: Uint8Array): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Preserve a rejected object outside the active cache namespace. The manager
|
|
16
|
+
* calls this before attempting a replacement and never removes a last-good
|
|
17
|
+
* object merely because a newer source is unavailable.
|
|
18
|
+
*/
|
|
19
|
+
quarantine?(file: Readonly<BulkHeaderFileInfo>, reason: string,
|
|
20
|
+
/** Exact rejected bytes, used to avoid quarantining a concurrent replacement. */
|
|
21
|
+
rejectedData?: Uint8Array): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Promote a validated legacy entry into the implementation's preferred
|
|
24
|
+
* immutable namespace. Implementations should make this idempotent.
|
|
25
|
+
*/
|
|
26
|
+
promoteValidated?(file: Readonly<BulkHeaderFileInfo>, data: Uint8Array): Promise<void>;
|
|
14
27
|
delete?(file: Readonly<BulkHeaderFileInfo>): Promise<void>;
|
|
15
28
|
}
|
|
16
29
|
/**
|
|
@@ -22,5 +35,14 @@ export interface BulkFileDataCacheApi {
|
|
|
22
35
|
*/
|
|
23
36
|
export interface BulkFileDownloadBudgetApi {
|
|
24
37
|
consume(byteCount: number): void | Promise<void>;
|
|
38
|
+
snapshot?(): BulkFileDownloadBudgetSnapshot;
|
|
39
|
+
}
|
|
40
|
+
/** @public */
|
|
41
|
+
export interface BulkFileDownloadBudgetSnapshot {
|
|
42
|
+
maxBytes: number;
|
|
43
|
+
consumedBytes: number;
|
|
44
|
+
remainingBytes: number;
|
|
45
|
+
windowStartedAt: number;
|
|
46
|
+
windowMsecs: number;
|
|
25
47
|
}
|
|
26
48
|
//# sourceMappingURL=BulkFileDataCacheApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BulkFileDataCacheApi.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAEhE;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;IACxE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxE,MAAM,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3D;AAED;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"BulkFileDataCacheApi.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAEhE;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;IACxE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxE;;;;OAIG;IACH,UAAU,CAAC,CACT,IAAI,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAClC,MAAM,EAAE,MAAM;IACd,iFAAiF;IACjF,YAAY,CAAC,EAAE,UAAU,GACxB,OAAO,CAAC,IAAI,CAAC,CAAA;IAChB;;;OAGG;IACH,gBAAgB,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtF,MAAM,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3D;AAED;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChD,QAAQ,CAAC,IAAI,8BAA8B,CAAA;CAC5C;AAED,cAAc;AACd,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;CACpB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { Chain } from '../../../../sdk/types';
|
|
2
|
+
/**
|
|
3
|
+
* Identifies deterministic rejection of the supplied immutable bytes.
|
|
4
|
+
* Operational failures such as worker crashes and queue saturation deliberately
|
|
5
|
+
* use ordinary errors so callers preserve the cache entry and avoid downloading
|
|
6
|
+
* a replacement that cannot be validated.
|
|
7
|
+
*
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export declare class BulkFileDataValidationError extends Error {
|
|
11
|
+
readonly data?: Uint8Array | undefined;
|
|
12
|
+
constructor(message: string, data?: Uint8Array | undefined);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Complete immutable bulk-header object supplied to a validator.
|
|
16
|
+
*
|
|
17
|
+
* Implementations must validate the exact byte length and digest as well as
|
|
18
|
+
* every header's linkage, chain work, genesis, and proof of work.
|
|
19
|
+
*
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export interface BulkFileDataValidationRequest {
|
|
23
|
+
fileName: string;
|
|
24
|
+
data: Uint8Array;
|
|
25
|
+
count: number;
|
|
26
|
+
/** Expected base64 SHA-256 digest. Omit only while producing a new export. */
|
|
27
|
+
fileHash?: string;
|
|
28
|
+
firstHeight: number;
|
|
29
|
+
prevHash: string;
|
|
30
|
+
prevChainWork: string;
|
|
31
|
+
lastHash?: string | null;
|
|
32
|
+
lastChainWork?: string | null;
|
|
33
|
+
chain?: Chain;
|
|
34
|
+
}
|
|
35
|
+
/** @public */
|
|
36
|
+
export interface BulkFileDataValidationResult {
|
|
37
|
+
/** The validated bytes. Worker implementations may transfer ownership. */
|
|
38
|
+
data: Uint8Array;
|
|
39
|
+
fileHash: string;
|
|
40
|
+
lastHeaderHash: string;
|
|
41
|
+
lastChainWork: string;
|
|
42
|
+
}
|
|
43
|
+
/** @public */
|
|
44
|
+
export interface BulkFileDataValidatorStats {
|
|
45
|
+
submitted: number;
|
|
46
|
+
completed: number;
|
|
47
|
+
failed: number;
|
|
48
|
+
rejected: number;
|
|
49
|
+
workerRestarts: number;
|
|
50
|
+
inFlight: number;
|
|
51
|
+
queued: number;
|
|
52
|
+
maxQueueDepth: number;
|
|
53
|
+
totalValidationMsecs: number;
|
|
54
|
+
maxValidationMsecs: number;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Asynchronous validation boundary for immutable bulk-header objects.
|
|
58
|
+
*
|
|
59
|
+
* Portable runtimes may validate in-process. Node services can inject a
|
|
60
|
+
* worker-backed implementation so proof-of-work validation never blocks the
|
|
61
|
+
* request event loop.
|
|
62
|
+
*
|
|
63
|
+
* @public
|
|
64
|
+
*/
|
|
65
|
+
export interface BulkFileDataValidatorApi {
|
|
66
|
+
validate(request: BulkFileDataValidationRequest): Promise<BulkFileDataValidationResult>;
|
|
67
|
+
getStats?(): BulkFileDataValidatorStats;
|
|
68
|
+
destroy?(): Promise<void>;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=BulkFileDataValidatorApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BulkFileDataValidatorApi.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAElD;;;;;;;GAOG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;aAGlC,IAAI,CAAC,EAAE,UAAU;IAFnC,YACE,OAAO,EAAE,MAAM,EACC,IAAI,CAAC,EAAE,UAAU,YAAA,EAIlC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED,cAAc;AACd,MAAM,WAAW,4BAA4B;IAC3C,0EAA0E;IAC1E,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,cAAc;AACd,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAA;IACvF,QAAQ,CAAC,IAAI,0BAA0B,CAAA;IACvC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BulkFileDataValidationError = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Identifies deterministic rejection of the supplied immutable bytes.
|
|
6
|
+
* Operational failures such as worker crashes and queue saturation deliberately
|
|
7
|
+
* use ordinary errors so callers preserve the cache entry and avoid downloading
|
|
8
|
+
* a replacement that cannot be validated.
|
|
9
|
+
*
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
class BulkFileDataValidationError extends Error {
|
|
13
|
+
data;
|
|
14
|
+
constructor(message, data) {
|
|
15
|
+
super(message);
|
|
16
|
+
this.data = data;
|
|
17
|
+
this.name = 'BulkFileDataValidationError';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.BulkFileDataValidationError = BulkFileDataValidationError;
|
|
21
|
+
//# sourceMappingURL=BulkFileDataValidatorApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BulkFileDataValidatorApi.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.ts"],"names":[],"mappings":";;;AAEA;;;;;;;GAOG;AACH,iCAAyC,SAAQ,KAAK;IAGlC,IAAI;IAFtB,YACE,OAAe,EACC,IAAiB;QAEjC,KAAK,CAAC,OAAO,CAAC,CAAA;oBAFE,IAAI;QAGpB,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAA;IAC3C,CAAC;CACF"}
|
|
@@ -42,6 +42,28 @@ export interface ChaintracksBulkDataStatsApi {
|
|
|
42
42
|
coalescedLoads: number;
|
|
43
43
|
downloads: number;
|
|
44
44
|
downloadedBytes: number;
|
|
45
|
+
loadBackoffs: number;
|
|
46
|
+
/** Worker or portable validator statistics when the implementation exposes them. */
|
|
47
|
+
validation?: {
|
|
48
|
+
submitted: number;
|
|
49
|
+
completed: number;
|
|
50
|
+
failed: number;
|
|
51
|
+
rejected: number;
|
|
52
|
+
workerRestarts: number;
|
|
53
|
+
inFlight: number;
|
|
54
|
+
queued: number;
|
|
55
|
+
maxQueueDepth: number;
|
|
56
|
+
totalValidationMsecs: number;
|
|
57
|
+
maxValidationMsecs: number;
|
|
58
|
+
};
|
|
59
|
+
/** Durable download reservation state when configured. */
|
|
60
|
+
downloadBudget?: {
|
|
61
|
+
maxBytes: number;
|
|
62
|
+
consumedBytes: number;
|
|
63
|
+
remainingBytes: number;
|
|
64
|
+
windowStartedAt: number;
|
|
65
|
+
windowMsecs: number;
|
|
66
|
+
};
|
|
45
67
|
}
|
|
46
68
|
/** @public */
|
|
47
69
|
export interface ChaintracksSourceStatusApi {
|
|
@@ -52,6 +74,17 @@ export interface ChaintracksSourceStatusApi {
|
|
|
52
74
|
lastFailure?: string;
|
|
53
75
|
error?: string;
|
|
54
76
|
}
|
|
77
|
+
/** Constant-time, local-only process state for probes and operators. @public */
|
|
78
|
+
export interface ChaintracksAvailabilitySnapshotApi {
|
|
79
|
+
available: boolean;
|
|
80
|
+
startupError?: string;
|
|
81
|
+
presentHeight?: number;
|
|
82
|
+
presentHeightUpdatedAt?: string;
|
|
83
|
+
presentHeightRefreshInFlight: boolean;
|
|
84
|
+
mainLoopHeartbeatAt?: string;
|
|
85
|
+
sources: ChaintracksSourceStatusApi[];
|
|
86
|
+
bulkData: ChaintracksBulkDataStatsApi;
|
|
87
|
+
}
|
|
55
88
|
/**
|
|
56
89
|
* Chaintracks client API excluding events and callbacks
|
|
57
90
|
* @public
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChaintracksClientApi.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAE7C;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;AAE1D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,WAAW,EACnB,kBAAkB,CAAC,EAAE,WAAW,EAAE,KAC/B,IAAI,CAAA;AAET;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,QAAQ,EAAE,yBAAyB,EAAE,CAAA;IACrC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,0BAA0B,EAAE,CAAA;IACtC,oFAAoF;IACpF,QAAQ,CAAC,EAAE,2BAA2B,CAAA;CACvC;AAED,cAAc;AACd,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,sBAAsB,EAAE,MAAM,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"ChaintracksClientApi.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { HttpClient } from '@bsv/sdk';
|
|
2
|
+
/** @public */
|
|
3
|
+
export interface ChaintracksDownloadOptions {
|
|
4
|
+
/** Called immediately before each retry after the initial request. */
|
|
5
|
+
beforeRetry?: (attempt: number) => void | Promise<void>;
|
|
6
|
+
}
|
|
2
7
|
/**
|
|
3
8
|
* Provides a simplified interface based on the @bsv/sdk `HttpClient` class
|
|
4
9
|
* with just the methods necesary for most Chaintracks operations.
|
|
@@ -11,7 +16,7 @@ import type { HttpClient } from '@bsv/sdk';
|
|
|
11
16
|
*/
|
|
12
17
|
export interface ChaintracksFetchApi {
|
|
13
18
|
httpClient: HttpClient;
|
|
14
|
-
download(url: string, maxResponseBytes?: number): Promise<Uint8Array>;
|
|
19
|
+
download(url: string, maxResponseBytes?: number, options?: ChaintracksDownloadOptions): Promise<Uint8Array>;
|
|
15
20
|
fetchJson<R>(url: string): Promise<R>;
|
|
16
21
|
pathJoin(baseUrl: string, subpath: string): string;
|
|
17
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChaintracksFetchApi.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1C;;;;;;;;;GASG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"ChaintracksFetchApi.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1C,cAAc;AACd,MAAM,WAAW,0BAA0B;IACzC,sEAAsE;IACtE,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACxD;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAC3G,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CACnD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChaintracksOptions, ChaintracksManagementApi } from './Api/ChaintracksApi';
|
|
2
2
|
import { Chain } from '../../../sdk/types';
|
|
3
|
-
import { ChaintracksInfoApi, HeaderListener, ReorgListener } from './Api/ChaintracksClientApi';
|
|
3
|
+
import { ChaintracksInfoApi, ChaintracksAvailabilitySnapshotApi, HeaderListener, ReorgListener } from './Api/ChaintracksClientApi';
|
|
4
4
|
import { BaseBlockHeader, BlockHeader, LiveBlockHeader } from './Api/BlockHeaderApi';
|
|
5
5
|
import { ChaintracksFsApi } from './Api/ChaintracksFsApi';
|
|
6
6
|
export declare class Chaintracks implements ChaintracksManagementApi {
|
|
@@ -24,16 +24,22 @@ export declare class Chaintracks implements ChaintracksManagementApi {
|
|
|
24
24
|
private lastPresentHeight;
|
|
25
25
|
private lastPresentHeightMsecs;
|
|
26
26
|
private readonly lastPresentHeightMaxAge;
|
|
27
|
+
private presentHeightRefresh?;
|
|
28
|
+
private mainLoopHeartbeatMsecs;
|
|
27
29
|
private readonly lock;
|
|
28
30
|
private readonly sourceStatus;
|
|
29
31
|
constructor(options: ChaintracksOptions);
|
|
30
32
|
getChain(): Promise<Chain>;
|
|
31
33
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
+
* Returns the last known valid height immediately and refreshes stale state
|
|
35
|
+
* once in the background. Cold start waits for the single shared refresh.
|
|
34
36
|
*/
|
|
35
37
|
getPresentHeight(): Promise<number>;
|
|
38
|
+
private refreshPresentHeight;
|
|
39
|
+
private loadPresentHeight;
|
|
36
40
|
currentHeight(): Promise<number>;
|
|
41
|
+
/** Returns local process state without locks, storage reads, or network I/O. */
|
|
42
|
+
getAvailabilitySnapshot(): ChaintracksAvailabilitySnapshotApi;
|
|
37
43
|
subscribeHeaders(listener: HeaderListener): Promise<string>;
|
|
38
44
|
subscribeReorgs(listener: ReorgListener): Promise<string>;
|
|
39
45
|
unsubscribe(subscriptionId: string): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chaintracks.d.ts","sourceRoot":"","sources":["../../../../../src/services/chaintracker/chaintracks/Chaintracks.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAEnF,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EACL,kBAAkB,
|
|
1
|
+
{"version":3,"file":"Chaintracks.d.ts","sourceRoot":"","sources":["../../../../../src/services/chaintracker/chaintracks/Chaintracks.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,8 @@ class Chaintracks {
|
|
|
41
41
|
lastPresentHeight = -1;
|
|
42
42
|
lastPresentHeightMsecs = 0;
|
|
43
43
|
lastPresentHeightMaxAge = 60 * 1000; // 1 minute, in milliseconds
|
|
44
|
+
presentHeightRefresh;
|
|
45
|
+
mainLoopHeartbeatMsecs = 0;
|
|
44
46
|
lock = new SingleWriterMultiReaderLock_1.SingleWriterMultiReaderLock();
|
|
45
47
|
sourceStatus = new Map();
|
|
46
48
|
constructor(options) {
|
|
@@ -76,14 +78,36 @@ class Chaintracks {
|
|
|
76
78
|
return this.chain;
|
|
77
79
|
}
|
|
78
80
|
/**
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
+
* Returns the last known valid height immediately and refreshes stale state
|
|
82
|
+
* once in the background. Cold start waits for the single shared refresh.
|
|
81
83
|
*/
|
|
82
84
|
async getPresentHeight() {
|
|
83
85
|
const now = Date.now();
|
|
84
86
|
if (this.lastPresentHeight >= 0 && now - this.lastPresentHeightMsecs < this.lastPresentHeightMaxAge) {
|
|
85
87
|
return this.lastPresentHeight;
|
|
86
88
|
}
|
|
89
|
+
if (this.lastPresentHeight >= 0) {
|
|
90
|
+
void this.refreshPresentHeight().catch(error => {
|
|
91
|
+
this.log(`Background present-height refresh failed: ${WalletError_1.WalletError.fromUnknown(error).message}`);
|
|
92
|
+
});
|
|
93
|
+
return this.lastPresentHeight;
|
|
94
|
+
}
|
|
95
|
+
return await this.refreshPresentHeight();
|
|
96
|
+
}
|
|
97
|
+
async refreshPresentHeight() {
|
|
98
|
+
if (this.presentHeightRefresh != null)
|
|
99
|
+
return await this.presentHeightRefresh;
|
|
100
|
+
const refresh = this.loadPresentHeight();
|
|
101
|
+
this.presentHeightRefresh = refresh;
|
|
102
|
+
try {
|
|
103
|
+
return await refresh;
|
|
104
|
+
}
|
|
105
|
+
finally {
|
|
106
|
+
if (this.presentHeightRefresh === refresh)
|
|
107
|
+
this.presentHeightRefresh = undefined;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
async loadPresentHeight() {
|
|
87
111
|
for (const [index, bulk] of this.bulkIngestors.entries()) {
|
|
88
112
|
const source = this.sourceName('bulk', index, bulk);
|
|
89
113
|
try {
|
|
@@ -91,7 +115,7 @@ class Chaintracks {
|
|
|
91
115
|
if (presentHeight != null && Number.isInteger(presentHeight) && presentHeight >= 0) {
|
|
92
116
|
this.markSourceSuccess(source, 'bulk');
|
|
93
117
|
this.lastPresentHeight = presentHeight;
|
|
94
|
-
this.lastPresentHeightMsecs = now;
|
|
118
|
+
this.lastPresentHeightMsecs = Date.now();
|
|
95
119
|
return presentHeight;
|
|
96
120
|
}
|
|
97
121
|
}
|
|
@@ -109,7 +133,7 @@ class Chaintracks {
|
|
|
109
133
|
const localHeight = Math.max(ranges.bulk.maxHeight, ranges.live.maxHeight);
|
|
110
134
|
if (localHeight >= 0) {
|
|
111
135
|
this.lastPresentHeight = localHeight;
|
|
112
|
-
this.lastPresentHeightMsecs = now;
|
|
136
|
+
this.lastPresentHeightMsecs = Date.now();
|
|
113
137
|
return localHeight;
|
|
114
138
|
}
|
|
115
139
|
}
|
|
@@ -121,6 +145,19 @@ class Chaintracks {
|
|
|
121
145
|
async currentHeight() {
|
|
122
146
|
return await this.getPresentHeight();
|
|
123
147
|
}
|
|
148
|
+
/** Returns local process state without locks, storage reads, or network I/O. */
|
|
149
|
+
getAvailabilitySnapshot() {
|
|
150
|
+
return {
|
|
151
|
+
available: this.available,
|
|
152
|
+
startupError: this.startupError?.message,
|
|
153
|
+
presentHeight: this.lastPresentHeight >= 0 ? this.lastPresentHeight : undefined,
|
|
154
|
+
presentHeightUpdatedAt: this.lastPresentHeightMsecs > 0 ? new Date(this.lastPresentHeightMsecs).toISOString() : undefined,
|
|
155
|
+
presentHeightRefreshInFlight: this.presentHeightRefresh != null,
|
|
156
|
+
mainLoopHeartbeatAt: this.mainLoopHeartbeatMsecs > 0 ? new Date(this.mainLoopHeartbeatMsecs).toISOString() : undefined,
|
|
157
|
+
sources: Array.from(this.sourceStatus.values()).map(status => ({ ...status })),
|
|
158
|
+
bulkData: this.storage.bulkManager.getStats()
|
|
159
|
+
};
|
|
160
|
+
}
|
|
124
161
|
async subscribeHeaders(listener) {
|
|
125
162
|
const ID = (0, utilityHelpers_1.randomBytesBase64)(8);
|
|
126
163
|
this.callbacks.header[ID] = listener;
|
|
@@ -207,6 +244,7 @@ class Chaintracks {
|
|
|
207
244
|
for (const bulkIn of this.bulkIngestors)
|
|
208
245
|
await bulkIn.shutdown();
|
|
209
246
|
await Promise.all(this.promises);
|
|
247
|
+
await this.storage.bulkManager.destroy();
|
|
210
248
|
await this.storage.destroy();
|
|
211
249
|
this.available = false;
|
|
212
250
|
this.stopMainThread = false;
|
|
@@ -522,9 +560,11 @@ class Chaintracks {
|
|
|
522
560
|
while (!this.stopMainThread) {
|
|
523
561
|
try {
|
|
524
562
|
const now = Date.now();
|
|
563
|
+
this.mainLoopHeartbeatMsecs = now;
|
|
525
564
|
lastSyncCheck = now;
|
|
526
565
|
lastBulkSync = await this.runBulkSyncIfNeeded(now, lastBulkSync, cdnSyncRepeatMsecs);
|
|
527
566
|
await this.processLiveHeaderQueue(lastSyncCheck, syncCheckRepeatMsecs);
|
|
567
|
+
this.mainLoopHeartbeatMsecs = Date.now();
|
|
528
568
|
}
|
|
529
569
|
catch (error_) {
|
|
530
570
|
const e = WalletError_1.WalletError.fromUnknown(error_);
|
|
@@ -540,7 +580,7 @@ class Chaintracks {
|
|
|
540
580
|
}
|
|
541
581
|
/** Returns (potentially updated) lastBulkSync timestamp. */
|
|
542
582
|
async runBulkSyncIfNeeded(now, lastBulkSync, cdnSyncRepeatMsecs) {
|
|
543
|
-
const presentHeight = await this.
|
|
583
|
+
const presentHeight = await this.refreshPresentHeight();
|
|
544
584
|
const before = await this.storage.getAvailableHeightRanges();
|
|
545
585
|
let skipBulkSync = !before.live.isEmpty && before.live.maxHeight >= presentHeight - this.addLiveRecursionLimit / 2;
|
|
546
586
|
// If we haven't re-synced in a long time, do it just to check for a CDN update.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chaintracks.js","sourceRoot":"","sources":["../../../../../src/services/chaintracker/chaintracks/Chaintracks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Chaintracks.js","sourceRoot":"","sources":["../../../../../src/services/chaintracker/chaintracks/Chaintracks.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { ChaintracksFetchApi } from './Api/ChaintracksFetchApi';
|
|
|
5
5
|
import { BulkFileDataManager } from './util/BulkFileDataManager';
|
|
6
6
|
import { ChaintracksClientApi } from './Api/ChaintracksClientApi';
|
|
7
7
|
import type { BulkFileDataCacheApi, BulkFileDownloadBudgetApi } from './Api/BulkFileDataCacheApi';
|
|
8
|
+
import type { BulkFileDataValidatorApi } from './Api/BulkFileDataValidatorApi';
|
|
8
9
|
export interface ChaintracksSourceOptions {
|
|
9
10
|
/** Preferred go-chaintracks or Arcade source. */
|
|
10
11
|
chaintracks?: ChaintracksClientApi;
|
|
@@ -20,6 +21,8 @@ export interface ChaintracksSourceOptions {
|
|
|
20
21
|
bulkFileCache?: BulkFileDataCacheApi;
|
|
21
22
|
/** Optional byte budget applied before remote bulk-file downloads. */
|
|
22
23
|
bulkFileDownloadBudget?: BulkFileDownloadBudgetApi;
|
|
24
|
+
/** Optional complete-object validator; Node services should use a bounded worker implementation. */
|
|
25
|
+
bulkFileDataValidator?: BulkFileDataValidatorApi;
|
|
23
26
|
}
|
|
24
27
|
export type ChaintracksArgumentsTail = [
|
|
25
28
|
whatsonchainApiKey?: string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureChaintracksIngestors.d.ts","sourceRoot":"","sources":["../../../../../src/services/chaintracker/chaintracks/configureChaintracksIngestors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAI3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAG/D,OAAO,EAAE,mBAAmB,EAA8B,MAAM,4BAA4B,CAAA;AAE5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAKjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"configureChaintracksIngestors.d.ts","sourceRoot":"","sources":["../../../../../src/services/chaintracker/chaintracks/configureChaintracksIngestors.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,7 +63,8 @@ function createDefaultBulkFileDataManager(params) {
|
|
|
63
63
|
maxRetained: params.maxRetained,
|
|
64
64
|
fromKnownSourceUrl: params.cdnUrl,
|
|
65
65
|
cache: params.sources.bulkFileCache,
|
|
66
|
-
downloadBudget: params.sources.bulkFileDownloadBudget
|
|
66
|
+
downloadBudget: params.sources.bulkFileDownloadBudget,
|
|
67
|
+
validator: params.sources.bulkFileDataValidator
|
|
67
68
|
};
|
|
68
69
|
return new BulkFileDataManager_1.BulkFileDataManager(options);
|
|
69
70
|
}
|