@bsv/wallet-toolbox-client 2.7.1 → 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.
@@ -816,6 +816,41 @@ interface ChaintracksInfoApi {
816
816
  packages: ChaintracksPackageInfoApi[];
817
817
  /** Last observed source state. Additive and omitted by older services. */
818
818
  sources?: ChaintracksSourceStatusApi[];
819
+ /** Local bulk-header retrieval counters. Additive and omitted by older services. */
820
+ bulkData?: ChaintracksBulkDataStatsApi;
821
+ }
822
+ /** @public */
823
+ interface ChaintracksBulkDataStatsApi {
824
+ memoryHits: number;
825
+ storageHits: number;
826
+ persistentCacheHits: number;
827
+ persistentCacheMisses: number;
828
+ persistentCacheRejects: number;
829
+ coalescedLoads: number;
830
+ downloads: number;
831
+ downloadedBytes: number;
832
+ loadBackoffs: number;
833
+ /** Worker or portable validator statistics when the implementation exposes them. */
834
+ validation?: {
835
+ submitted: number;
836
+ completed: number;
837
+ failed: number;
838
+ rejected: number;
839
+ workerRestarts: number;
840
+ inFlight: number;
841
+ queued: number;
842
+ maxQueueDepth: number;
843
+ totalValidationMsecs: number;
844
+ maxValidationMsecs: number;
845
+ };
846
+ /** Durable download reservation state when configured. */
847
+ downloadBudget?: {
848
+ maxBytes: number;
849
+ consumedBytes: number;
850
+ remainingBytes: number;
851
+ windowStartedAt: number;
852
+ windowMsecs: number;
853
+ };
819
854
  }
820
855
  /** @public */
821
856
  interface ChaintracksSourceStatusApi {
@@ -826,6 +861,17 @@ interface ChaintracksSourceStatusApi {
826
861
  lastFailure?: string;
827
862
  error?: string;
828
863
  }
864
+ /** Constant-time, local-only process state for probes and operators. @public */
865
+ interface ChaintracksAvailabilitySnapshotApi {
866
+ available: boolean;
867
+ startupError?: string;
868
+ presentHeight?: number;
869
+ presentHeightUpdatedAt?: string;
870
+ presentHeightRefreshInFlight: boolean;
871
+ mainLoopHeartbeatAt?: string;
872
+ sources: ChaintracksSourceStatusApi[];
873
+ bulkData: ChaintracksBulkDataStatsApi;
874
+ }
829
875
  /**
830
876
  * Chaintracks client API excluding events and callbacks
831
877
  * @public
@@ -1132,6 +1178,14 @@ interface WalletServicesOptions {
1132
1178
  chain: Chain;
1133
1179
  /** Optional provider-neutral service and ChainTracks tracing. */
1134
1180
  telemetry?: TelemetryConfig;
1181
+ /**
1182
+ * Optional SDK verifier returned directly by `getChainTracker`.
1183
+ *
1184
+ * Use this for a local-primary or otherwise composed verifier. When omitted,
1185
+ * Services preserves the existing behavior of wrapping `chaintracks` in a
1186
+ * `ChaintracksChainTracker`.
1187
+ */
1188
+ chainTracker?: ChainTracker;
1135
1189
  /**
1136
1190
  * As of 2025-08-31 the `taalApiKey` is unused for default configured services.
1137
1191
  * See `arcConfig` instead.
@@ -5655,6 +5709,11 @@ interface ChaintracksFsApi {
5655
5709
  }
5656
5710
  //#endregion
5657
5711
  //#region ../src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts
5712
+ /** @public */
5713
+ interface ChaintracksDownloadOptions {
5714
+ /** Called immediately before each retry after the initial request. */
5715
+ beforeRetry?: (attempt: number) => void | Promise<void>;
5716
+ }
5658
5717
  /**
5659
5718
  * Provides a simplified interface based on the @bsv/sdk `HttpClient` class
5660
5719
  * with just the methods necesary for most Chaintracks operations.
@@ -5667,7 +5726,7 @@ interface ChaintracksFsApi {
5667
5726
  */
5668
5727
  interface ChaintracksFetchApi {
5669
5728
  httpClient: HttpClient;
5670
- download(url: string): Promise<Uint8Array>;
5729
+ download(url: string, maxResponseBytes?: number, options?: ChaintracksDownloadOptions): Promise<Uint8Array>;
5671
5730
  fetchJson<R>(url: string): Promise<R>;
5672
5731
  pathJoin(baseUrl: string, subpath: string): string;
5673
5732
  }
@@ -5693,6 +5752,124 @@ declare class BulkFileDataReader {
5693
5752
  read(): Promise<Uint8Array | undefined>;
5694
5753
  }
5695
5754
  //#endregion
5755
+ //#region ../src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.d.ts
5756
+ /**
5757
+ * Persistent backing cache for immutable bulk-header objects.
5758
+ *
5759
+ * Implementations may read packaged checkpoint assets, application storage,
5760
+ * or a filesystem. The manager validates the byte length and SHA-256 digest
5761
+ * before using any returned value or persisting a downloaded value.
5762
+ *
5763
+ * @public
5764
+ */
5765
+ interface BulkFileDataCacheApi {
5766
+ get(file: Readonly<BulkHeaderFileInfo>): Promise<Uint8Array | undefined>;
5767
+ set(file: Readonly<BulkHeaderFileInfo>, data: Uint8Array): Promise<void>;
5768
+ /**
5769
+ * Preserve a rejected object outside the active cache namespace. The manager
5770
+ * calls this before attempting a replacement and never removes a last-good
5771
+ * object merely because a newer source is unavailable.
5772
+ */
5773
+ quarantine?(file: Readonly<BulkHeaderFileInfo>, reason: string,
5774
+ /** Exact rejected bytes, used to avoid quarantining a concurrent replacement. */
5775
+ rejectedData?: Uint8Array): Promise<void>;
5776
+ /**
5777
+ * Promote a validated legacy entry into the implementation's preferred
5778
+ * immutable namespace. Implementations should make this idempotent.
5779
+ */
5780
+ promoteValidated?(file: Readonly<BulkHeaderFileInfo>, data: Uint8Array): Promise<void>;
5781
+ delete?(file: Readonly<BulkHeaderFileInfo>): Promise<void>;
5782
+ }
5783
+ /**
5784
+ * A deployment-defined budget for remote bulk-header downloads.
5785
+ * Implementations should throw before the request when the requested byte
5786
+ * reservation would exceed the configured budget.
5787
+ *
5788
+ * @public
5789
+ */
5790
+ interface BulkFileDownloadBudgetApi {
5791
+ consume(byteCount: number): void | Promise<void>;
5792
+ snapshot?(): BulkFileDownloadBudgetSnapshot;
5793
+ }
5794
+ /** @public */
5795
+ interface BulkFileDownloadBudgetSnapshot {
5796
+ maxBytes: number;
5797
+ consumedBytes: number;
5798
+ remainingBytes: number;
5799
+ windowStartedAt: number;
5800
+ windowMsecs: number;
5801
+ }
5802
+ //#endregion
5803
+ //#region ../src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.d.ts
5804
+ /**
5805
+ * Identifies deterministic rejection of the supplied immutable bytes.
5806
+ * Operational failures such as worker crashes and queue saturation deliberately
5807
+ * use ordinary errors so callers preserve the cache entry and avoid downloading
5808
+ * a replacement that cannot be validated.
5809
+ *
5810
+ * @public
5811
+ */
5812
+ declare class BulkFileDataValidationError extends Error {
5813
+ readonly data?: Uint8Array | undefined;
5814
+ constructor(message: string, data?: Uint8Array | undefined);
5815
+ }
5816
+ /**
5817
+ * Complete immutable bulk-header object supplied to a validator.
5818
+ *
5819
+ * Implementations must validate the exact byte length and digest as well as
5820
+ * every header's linkage, chain work, genesis, and proof of work.
5821
+ *
5822
+ * @public
5823
+ */
5824
+ interface BulkFileDataValidationRequest {
5825
+ fileName: string;
5826
+ data: Uint8Array;
5827
+ count: number;
5828
+ /** Expected base64 SHA-256 digest. Omit only while producing a new export. */
5829
+ fileHash?: string;
5830
+ firstHeight: number;
5831
+ prevHash: string;
5832
+ prevChainWork: string;
5833
+ lastHash?: string | null;
5834
+ lastChainWork?: string | null;
5835
+ chain?: Chain;
5836
+ }
5837
+ /** @public */
5838
+ interface BulkFileDataValidationResult {
5839
+ /** The validated bytes. Worker implementations may transfer ownership. */
5840
+ data: Uint8Array;
5841
+ fileHash: string;
5842
+ lastHeaderHash: string;
5843
+ lastChainWork: string;
5844
+ }
5845
+ /** @public */
5846
+ interface BulkFileDataValidatorStats {
5847
+ submitted: number;
5848
+ completed: number;
5849
+ failed: number;
5850
+ rejected: number;
5851
+ workerRestarts: number;
5852
+ inFlight: number;
5853
+ queued: number;
5854
+ maxQueueDepth: number;
5855
+ totalValidationMsecs: number;
5856
+ maxValidationMsecs: number;
5857
+ }
5858
+ /**
5859
+ * Asynchronous validation boundary for immutable bulk-header objects.
5860
+ *
5861
+ * Portable runtimes may validate in-process. Node services can inject a
5862
+ * worker-backed implementation so proof-of-work validation never blocks the
5863
+ * request event loop.
5864
+ *
5865
+ * @public
5866
+ */
5867
+ interface BulkFileDataValidatorApi {
5868
+ validate(request: BulkFileDataValidationRequest): Promise<BulkFileDataValidationResult>;
5869
+ getStats?(): BulkFileDataValidatorStats;
5870
+ destroy?(): Promise<void>;
5871
+ }
5872
+ //#endregion
5696
5873
  //#region ../src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts
5697
5874
  interface BulkFileDataManagerOptions {
5698
5875
  chain: Chain;
@@ -5700,6 +5877,28 @@ interface BulkFileDataManagerOptions {
5700
5877
  maxRetained?: number;
5701
5878
  fetch?: ChaintracksFetchApi;
5702
5879
  fromKnownSourceUrl?: string;
5880
+ /** Persistent cache consulted before any remote bulk-file download. */
5881
+ cache?: BulkFileDataCacheApi;
5882
+ /** Optional process-local or shared reservation budget for remote bytes. */
5883
+ downloadBudget?: BulkFileDownloadBudgetApi;
5884
+ /** Complete-object validator. Node services should inject a worker-backed implementation. */
5885
+ validator?: BulkFileDataValidatorApi;
5886
+ /** Cooldown after a failed load before the same immutable object can retry. */
5887
+ failedLoadRetryMsecs?: number;
5888
+ }
5889
+ /** @public */
5890
+ interface BulkFileDataManagerStats {
5891
+ memoryHits: number;
5892
+ storageHits: number;
5893
+ persistentCacheHits: number;
5894
+ persistentCacheMisses: number;
5895
+ persistentCacheRejects: number;
5896
+ coalescedLoads: number;
5897
+ downloads: number;
5898
+ downloadedBytes: number;
5899
+ loadBackoffs: number;
5900
+ validation?: BulkFileDataValidatorStats;
5901
+ downloadBudget?: BulkFileDownloadBudgetSnapshot;
5703
5902
  }
5704
5903
  /**
5705
5904
  * Manages bulk file data (typically 8MB chunks of 100,000 headers each).
@@ -5716,13 +5915,21 @@ declare class BulkFileDataManager {
5716
5915
  private bfds;
5717
5916
  private fileHashToIndex;
5718
5917
  private readonly lock;
5918
+ private readonly inFlightLoads;
5919
+ private readonly failedLoads;
5719
5920
  private storage?;
5921
+ private readonly stats;
5720
5922
  readonly chain: Chain;
5721
5923
  readonly maxPerFile: number;
5722
5924
  readonly fetch?: ChaintracksFetchApi;
5723
5925
  readonly maxRetained?: number;
5724
5926
  readonly fromKnownSourceUrl?: string;
5927
+ readonly cache?: BulkFileDataCacheApi;
5928
+ readonly downloadBudget?: BulkFileDownloadBudgetApi;
5929
+ readonly validator: BulkFileDataValidatorApi;
5930
+ readonly failedLoadRetryMsecs: number;
5725
5931
  constructor(options: BulkFileDataManagerOptions | Chain);
5932
+ getStats(): BulkFileDataManagerStats;
5726
5933
  deleteBulkFiles(): Promise<void>;
5727
5934
  private deleteBulkFilesNoLock;
5728
5935
  /**
@@ -5749,6 +5956,7 @@ declare class BulkFileDataManager {
5749
5956
  getBulkFiles(keepData?: boolean): Promise<BulkHeaderFileInfo[]>;
5750
5957
  getHeightRange(): Promise<HeightRange>;
5751
5958
  getDataFromFile(file: BulkHeaderFileInfo, offset?: number, length?: number): Promise<Uint8Array | undefined>;
5959
+ private getDataFromSnapshot;
5752
5960
  private getDataFromFileNoLock;
5753
5961
  findHeaderForHeightOrUndefined(height: number): Promise<BlockHeader | undefined>;
5754
5962
  getFileForHeight(height: number): Promise<BulkHeaderFileInfo | undefined>;
@@ -5815,8 +6023,14 @@ declare class BulkFileDataManager {
5815
6023
  * @returns
5816
6024
  */
5817
6025
  private ensureData;
6026
+ private loadAndValidateData;
6027
+ private loadFromStorage;
6028
+ private loadFromCache;
6029
+ private loadFromRemote;
6030
+ private validateRetrievedData;
5818
6031
  private ensureMaxRetained;
5819
6032
  exportHeadersToFs(toFs: ChaintracksFsApi, toHeadersPerFile: number, toFolder: string, sourceUrl?: string, maxHeight?: number): Promise<void>;
6033
+ destroy(): Promise<void>;
5820
6034
  }
5821
6035
  interface BulkFileData extends BulkHeaderFileInfo {
5822
6036
  mru: number;
@@ -5940,7 +6154,8 @@ interface BulkHeaderFileInfo {
5940
6154
  chain?: Chain;
5941
6155
  data?: Uint8Array;
5942
6156
  /**
5943
- * true iff these properties should be considered pre-validated, including a valid required fileHash of data (when not undefined).
6157
+ * Advisory process-local validation state. Never trust this value after it
6158
+ * crosses a network or storage boundary; revalidate the object bytes.
5944
6159
  */
5945
6160
  validated?: boolean;
5946
6161
  /**
@@ -6014,6 +6229,13 @@ interface BulkHeaderFilesInfo {
6014
6229
  */
6015
6230
  headersPerFile: number;
6016
6231
  }
6232
+ declare abstract class BulkHeaderFiles implements BulkHeaderFilesInfo {
6233
+ rootFolder: string;
6234
+ jsonFilename: string;
6235
+ files: BulkHeaderFileInfo[];
6236
+ headersPerFile: number;
6237
+ constructor(rootFolder: string, jsonFilename: string, files: BulkHeaderFileInfo[], headersPerFile: number);
6238
+ }
6017
6239
  //#endregion
6018
6240
  //#region ../src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts
6019
6241
  interface ChaintracksStorageBaseOptions {
@@ -6581,16 +6803,22 @@ declare class Chaintracks implements ChaintracksManagementApi {
6581
6803
  private lastPresentHeight;
6582
6804
  private lastPresentHeightMsecs;
6583
6805
  private readonly lastPresentHeightMaxAge;
6806
+ private presentHeightRefresh?;
6807
+ private mainLoopHeartbeatMsecs;
6584
6808
  private readonly lock;
6585
6809
  private readonly sourceStatus;
6586
6810
  constructor(options: ChaintracksOptions);
6587
6811
  getChain(): Promise<Chain>;
6588
6812
  /**
6589
- * Caches and returns most recently sourced value if less than one minute old.
6590
- * @returns the current externally available chain height (via bulk ingestors).
6813
+ * Returns the last known valid height immediately and refreshes stale state
6814
+ * once in the background. Cold start waits for the single shared refresh.
6591
6815
  */
6592
6816
  getPresentHeight(): Promise<number>;
6817
+ private refreshPresentHeight;
6818
+ private loadPresentHeight;
6593
6819
  currentHeight(): Promise<number>;
6820
+ /** Returns local process state without locks, storage reads, or network I/O. */
6821
+ getAvailabilitySnapshot(): ChaintracksAvailabilitySnapshotApi;
6594
6822
  subscribeHeaders(listener: HeaderListener): Promise<string>;
6595
6823
  subscribeReorgs(listener: ReorgListener): Promise<string>;
6596
6824
  unsubscribe(subscriptionId: string): Promise<boolean>;
@@ -7817,6 +8045,12 @@ interface ChaintracksSourceOptions {
7817
8045
  disableCdn?: boolean;
7818
8046
  /** Disable the keyless WhatsOnChain fallback on mainnet/testnet. */
7819
8047
  disableWhatsOnChain?: boolean;
8048
+ /** Persistent checkpoint/cache storage used before any remote bulk download. */
8049
+ bulkFileCache?: BulkFileDataCacheApi;
8050
+ /** Optional byte budget applied before remote bulk-file downloads. */
8051
+ bulkFileDownloadBudget?: BulkFileDownloadBudgetApi;
8052
+ /** Optional complete-object validator; Node services should use a bounded worker implementation. */
8053
+ bulkFileDataValidator?: BulkFileDataValidatorApi;
7820
8054
  }
7821
8055
  type ChaintracksArgumentsTail = [whatsonchainApiKey?: string, maxPerFile?: number, maxRetained?: number, fetch?: ChaintracksFetchApi, cdnUrl?: string, liveHeightThreshold?: number, reorgHeightThreshold?: number, bulkMigrationChunkSize?: number, batchInsertLimit?: number, addLiveRecursionLimit?: number, sources?: ChaintracksSourceOptions];
7822
8056
  type DefaultChaintracksArguments = [chain: Chain, ...options: ChaintracksArgumentsTail];
@@ -7955,6 +8189,18 @@ declare class BulkFilesReaderStorage extends BulkFilesReader {
7955
8189
  }
7956
8190
  //#endregion
7957
8191
  //#region ../src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts
8192
+ interface ChaintracksFetchOptions {
8193
+ /** Number of retries after the initial request. Defaults to three. */
8194
+ maxRetries?: number;
8195
+ /** Deadline covering connection, headers, and response body. */
8196
+ timeoutMsecs?: number;
8197
+ /** Maximum materialized response size for binary and JSON requests. */
8198
+ maxResponseBytes?: number;
8199
+ retryMsecs?: number;
8200
+ maxRetryMsecs?: number;
8201
+ /** Testable jitter source in the inclusive range 0..1. */
8202
+ random?: () => number;
8203
+ }
7958
8204
  declare class ChaintracksFetchError extends Error {
7959
8205
  readonly url: string;
7960
8206
  readonly status: number;
@@ -7964,17 +8210,74 @@ declare class ChaintracksFetchError extends Error {
7964
8210
  get retryable(): boolean;
7965
8211
  }
7966
8212
  /**
7967
- * This class implements the ChaintracksFetchApi
7968
- * using the @bsv/sdk `defaultHttpClient`.
8213
+ * Bounded fetch implementation shared by ChainTracks sources.
8214
+ *
8215
+ * Retry policy lives here so callers never multiply attempts. Every attempt
8216
+ * has a deadline that remains active while the response body is consumed, and
8217
+ * every materialized response has an explicit byte ceiling.
7969
8218
  */
7970
8219
  declare class ChaintracksFetch implements ChaintracksFetchApi {
7971
8220
  httpClient: HttpClient;
7972
- download(url: string): Promise<Uint8Array>;
8221
+ private readonly maxRetries;
8222
+ private readonly timeoutMsecs;
8223
+ private readonly maxResponseBytes;
8224
+ private readonly retryMsecs;
8225
+ private readonly maxRetryMsecs;
8226
+ private readonly random;
8227
+ constructor(options?: ChaintracksFetchOptions);
8228
+ download(url: string, maxResponseBytes?: number, options?: ChaintracksDownloadOptions): Promise<Uint8Array>;
7973
8229
  fetchJson<R>(url: string): Promise<R>;
8230
+ private requestBytes;
8231
+ private requestAttempt;
8232
+ private readResponseBytes;
8233
+ private responseTooLarge;
8234
+ private retryWaitMsecs;
7974
8235
  pathJoin(baseUrl: string, subpath: string): string;
7975
8236
  }
8237
+ //#endregion
8238
+ //#region ../src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.d.ts
8239
+ interface FixedWindowBulkFileDownloadBudgetOptions {
8240
+ maxBytes: number;
8241
+ windowMsecs?: number;
8242
+ now?: () => number;
8243
+ }
8244
+ /**
8245
+ * Conservative process-local byte reservation budget for remote bulk-header
8246
+ * downloads. A reservation is retained even when the subsequent request
8247
+ * fails, preventing a failing upstream from bypassing the bound.
8248
+ *
8249
+ * @public
8250
+ */
8251
+ declare class FixedWindowBulkFileDownloadBudget implements BulkFileDownloadBudgetApi {
8252
+ private readonly maxBytes;
8253
+ private readonly windowMsecs;
8254
+ private readonly now;
8255
+ private windowStartedAt;
8256
+ private consumedBytes;
8257
+ constructor(options: FixedWindowBulkFileDownloadBudgetOptions);
8258
+ consume(byteCount: number): void;
8259
+ snapshot(): {
8260
+ maxBytes: number;
8261
+ consumedBytes: number;
8262
+ remainingBytes: number;
8263
+ windowStartedAt: number;
8264
+ windowMsecs: number;
8265
+ };
8266
+ }
8267
+ //#endregion
8268
+ //#region ../src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts
8269
+ /**
8270
+ * Portable complete-object validator. Node services should normally inject
8271
+ * `NodeBulkFileDataValidator`; browser and mobile consumers retain this
8272
+ * dependency-free fallback.
8273
+ *
8274
+ * @public
8275
+ */
8276
+ declare class InlineBulkFileDataValidator implements BulkFileDataValidatorApi {
8277
+ validate(request: BulkFileDataValidationRequest): Promise<BulkFileDataValidationResult>;
8278
+ }
7976
8279
  declare namespace blockHeaderUtilities_d_exports {
7977
- export { addWork, blockHash, convertBitsToTarget, convertBitsToWork, convertBufferToUint32, convertUint32ToBuffer, deserializeBaseBlockHeader, deserializeBaseBlockHeaders, deserializeBlockHeader, deserializeBlockHeaders, genesisBuffer, genesisHeader, isMoreWork, readUInt32BE, readUInt32LE, serializeBaseBlockHeader, serializeBaseBlockHeaders, sha256HashOfBinaryFile, subWork, swapByteOrder, validateBufferOfHeaders, validateBulkFileData, validateGenesisHeader, validateHeaderDifficulty, validateHeaderFormat, workBNtoBuffer, writeUInt32BE, writeUInt32LE };
8280
+ export { addWork, blockHash, convertBitsToTarget, convertBitsToWork, convertBufferToUint32, convertUint32ToBuffer, deserializeBaseBlockHeader, deserializeBaseBlockHeaders, deserializeBlockHeader, deserializeBlockHeaders, genesisBuffer, genesisHeader, isMoreWork, readUInt32BE, readUInt32LE, serializeBaseBlockHeader, serializeBaseBlockHeaders, sha256HashOfBinaryFile, subWork, swapByteOrder, validateBufferOfHeaders, validateBulkFileData, validateGenesisHeader, validateHeaderDifficulty, validateHeaderFormat, validateHeaderProofOfWork, workBNtoBuffer, writeUInt32BE, writeUInt32LE };
7978
8281
  }
7979
8282
  /**
7980
8283
  * Computes sha256 hash of file contents read as bytes with no encoding.
@@ -8049,14 +8352,22 @@ declare function deserializeBaseBlockHeaders(buffer: number[] | Uint8Array, offs
8049
8352
  declare function deserializeBlockHeaders(firstHeight: number, buffer: number[] | Uint8Array, offset?: number, count?: number | undefined): BlockHeader[];
8050
8353
  declare function validateHeaderFormat(header: BlockHeader): void;
8051
8354
  /**
8052
- * Ensures that a header has a valid proof-of-work
8053
- * Requires chain is 'main'
8355
+ * Ensures that a header has a valid proof-of-work target and hash.
8054
8356
  *
8055
8357
  * @param header The header to validate
8056
8358
  *
8057
8359
  * @returns true if the header is valid
8058
8360
  */
8059
- declare function validateHeaderDifficulty(hash: Buffer, bits: number): boolean;
8361
+ declare function validateHeaderDifficulty(hash: number[] | Uint8Array, bits: number): boolean;
8362
+ /**
8363
+ * Ensures that a structured header's computed hash satisfies its declared
8364
+ * proof-of-work target.
8365
+ *
8366
+ * @param header Header whose format and hash have already been checked.
8367
+ * @returns true if the header has valid proof-of-work.
8368
+ * @publicbody
8369
+ */
8370
+ declare function validateHeaderProofOfWork(header: BlockHeader): true;
8060
8371
  /**
8061
8372
  * Computes double sha256 hash of bitcoin block header
8062
8373
  * bytes are reversed to bigendian order
@@ -8149,6 +8460,101 @@ declare class ChaintracksChainTracker implements ChainTracker {
8149
8460
  private isValidRootForHeightCore;
8150
8461
  }
8151
8462
  //#endregion
8463
+ //#region ../src/services/chaintracker/LocalChainTracker.d.ts
8464
+ /** @public */
8465
+ type LocalChainTrackerMode = 'local-primary' | 'remote-only';
8466
+ /** @public */
8467
+ type LocalChainTrackerConsistency = 'unchecked' | 'agreed' | 'lagging' | 'diverged' | 'insufficient-references' | 'error';
8468
+ /** @public */
8469
+ interface LocalChainTrackerRecoveryEvidence {
8470
+ reason: 'lagging' | 'diverged';
8471
+ localHeight: number;
8472
+ referenceHeight: number;
8473
+ heightLag: number;
8474
+ comparisonHeight: number;
8475
+ expectedHash: string;
8476
+ referenceAgreement: number;
8477
+ }
8478
+ /** @public */
8479
+ interface LocalChainTrackerStatus {
8480
+ mode: LocalChainTrackerMode;
8481
+ activeSource: string;
8482
+ consistency: LocalChainTrackerConsistency;
8483
+ localHeight?: number;
8484
+ localTipHash?: string;
8485
+ referenceHeight?: number;
8486
+ heightLag?: number;
8487
+ comparisonHeight?: number;
8488
+ expectedHash?: string;
8489
+ referenceAgreement?: number;
8490
+ checkedAt?: string;
8491
+ recoveredAt?: string;
8492
+ lastFallbackAt?: string;
8493
+ lastError?: string;
8494
+ }
8495
+ /** @public */
8496
+ interface LocalChainTrackerOptions {
8497
+ /** Locally persisted, proof-of-work-validating ChainTracks client. */
8498
+ local: ChaintracksClientApi;
8499
+ /** Independent references used for diagnostics and exceptional fallback. */
8500
+ fallbacks?: ChaintracksClientApi[];
8501
+ mode?: LocalChainTrackerMode;
8502
+ fallbackOnLocalError?: boolean;
8503
+ /** Number of matching references needed for a fallback validation result. */
8504
+ requiredFallbackAgreement?: number;
8505
+ /** Number of matching references needed to declare local divergence. */
8506
+ requiredConsistencyAgreement?: number;
8507
+ /** Quorum-backed height lag tolerated before local state is considered stuck. */
8508
+ maxHeightLag?: number;
8509
+ autoRecover?: boolean;
8510
+ /** Clears/reseeds local state and returns the replacement local client. */
8511
+ recoverLocal?: (evidence: LocalChainTrackerRecoveryEvidence) => Promise<ChaintracksClientApi>;
8512
+ /** Clears local state and returns a fresh local client. */
8513
+ clearLocal?: () => Promise<ChaintracksClientApi>;
8514
+ now?: () => Date;
8515
+ }
8516
+ /**
8517
+ * Local-first SDK ChainTracker with explicit management and fallback state.
8518
+ *
8519
+ * A definitive local `false` validation is never overridden by a remote
8520
+ * source. Fallback is reserved for local exceptions or explicit remote-only
8521
+ * mode, and applications can require agreement across multiple independent
8522
+ * references before accepting a fallback result.
8523
+ *
8524
+ * @public
8525
+ */
8526
+ declare class LocalChainTracker implements ChainTracker {
8527
+ private local;
8528
+ private readonly fallbacks;
8529
+ private readonly fallbackOnLocalError;
8530
+ private readonly requiredFallbackAgreement;
8531
+ private readonly requiredConsistencyAgreement;
8532
+ private readonly maxHeightLag;
8533
+ private readonly autoRecover;
8534
+ private readonly recoverLocal;
8535
+ private readonly clearLocal;
8536
+ private readonly now;
8537
+ private status;
8538
+ constructor(options: LocalChainTrackerOptions);
8539
+ getMode(): LocalChainTrackerMode;
8540
+ setMode(mode: LocalChainTrackerMode): void;
8541
+ getStatus(): LocalChainTrackerStatus;
8542
+ getLocalClient(): ChaintracksClientApi;
8543
+ currentHeight(): Promise<number>;
8544
+ isValidRootForHeight(root: string, height: number): Promise<boolean>;
8545
+ synchronize(): Promise<LocalChainTrackerStatus>;
8546
+ clearLocalData(): Promise<LocalChainTrackerStatus>;
8547
+ checkConsistency(): Promise<LocalChainTrackerStatus>;
8548
+ private checkConsistencyInternal;
8549
+ private fallbackHeight;
8550
+ private fallbackValidation;
8551
+ private recordFallback;
8552
+ private recordError;
8553
+ private errorMessage;
8554
+ private validateAgreement;
8555
+ private validateHeightLag;
8556
+ }
8557
+ //#endregion
8152
8558
  //#region ../src/services/chaintracker/BHServiceClient.d.ts
8153
8559
  declare class BHServiceClient implements ChaintracksServiceClient {
8154
8560
  bhs: BlockHeadersService;
@@ -11158,5 +11564,5 @@ declare class WalletPermissionsManager implements WalletInterface {
11158
11564
  private buildActiveRequestKey;
11159
11565
  }
11160
11566
  //#endregion
11161
- export { ARGON2ID_DEFAULT_HASH_LENGTH, ARGON2ID_DEFAULT_ITERATIONS, ARGON2ID_DEFAULT_MEMORY_KIB, ARGON2ID_DEFAULT_PARALLELISM, ARGON2ID_MAX_ITERATIONS, ARGON2ID_MAX_MEMORY_KIB, ARGON2ID_MAX_PARALLELISM, ActionBatchStatus, AdminStatsResult, AnyBlockHeader, AuthMethodInteractor, AuthPayload, BHServiceClient, BRC153_REFERENCE_PREFIX, BRC38ImportOptions, BRC38ImportResult, BRC38Tables, BRC38WalletData, BRC39Options, type BaseBlockHeader, type BlockHeader, BulkFileDataManager, BulkFileDataManagerMergeResult, BulkFileDataManagerOptions, BulkFileDataReader, BulkFilesReader, BulkFilesReaderFs, BulkFilesReaderStorage, BulkIngestorApi, BulkIngestorBase, BulkIngestorBaseOptions, BulkIngestorCDN, BulkIngestorCDNBabbage, BulkIngestorCDNOptions, BulkIngestorChaintracks, BulkIngestorChaintracksOptions, BulkIngestorWhatsOnChainCdn, BulkIngestorWhatsOnChainOptions, BulkStorageApi, BulkStorageBase, BulkStorageBaseOptions, BulkSyncResult, ByteEncoding, ByteInput, CWIStyleWalletManager, Certifier, type Chain, Chaintracks, ChaintracksApi, ChaintracksAppendableFileApi, ChaintracksArgumentsTail, ChaintracksChainTracker, ChaintracksChainTrackerOptions, ChaintracksClientApi, ChaintracksFetch, ChaintracksFetchApi, ChaintracksFetchError, ChaintracksFsApi, ChaintracksInfoApi, ChaintracksIngestorParams, ChaintracksManagementApi, ChaintracksOptions, ChaintracksPackageInfoApi, ChaintracksReadableFileApi, ChaintracksServiceClient, ChaintracksServiceClientOptions, ChaintracksSourceOptions, ChaintracksSourceStatusApi, ChaintracksStorageApi, ChaintracksStorageBase, ChaintracksStorageBaseOptions, ChaintracksStorageBulkFileApi, ChaintracksStorageIdb, ChaintracksStorageIdbOptions, ChaintracksStorageIdbSchema, ChaintracksStorageIngestApi, ChaintracksStorageNoDb, ChaintracksStorageNoDbOptions, ChaintracksStorageQueryApi, ChaintracksWritableFileApi, CompleteAuthResponse, ContactRecord, ContactSource, CounterpartyPermissionEventHandler, CounterpartyPermissionRequest, CounterpartyPermissions, CreatedChaintracks, DEFAULT_MANAGED_CHANGE_MAX_OUTPUTS_PER_ACTION, DEFAULT_MANAGED_CHANGE_MIGRATION_INPUTS_PER_ACTION, DEFAULT_MANAGED_CHANGE_MINIMUM_SATOSHIS, DEFAULT_MANAGED_CHANGE_PENDING_COMPARISON_INPUTS, DEFAULT_MANAGED_CHANGE_TARGET_UTXOS, DEFAULT_PROFILE_ID, DEFAULT_SETTINGS, DeactivedHeader, DefaultChaintracksArguments, DevConsoleInteractor, EnqueueHandler, EntityBase, EntityCertificate, EntityCertificateField, EntityCommission, EntityOutput, EntityOutputBasket, EntityOutputTag, EntityOutputTagMap, EntityProvenTx, EntityProvenTxReq, EntityStorage, EntitySyncMap, EntitySyncState, EntityTransaction, EntityTxLabel, EntityTxLabelMap, EntityUser, ErrorHandler, GetHeaderByteFileLinksResult, GoChaintracksServiceClient, GoChaintracksServiceClientOptions, GroupedPermissionEventHandler, GroupedPermissionRequest, GroupedPermissions, HeaderListener, HeightRange, HeightRangeApi, HeightRanges, InsertHeaderResult, KDF_MAX_HASH_LENGTH, KdfConfig, KeyPairAddress, LEGACY_MANAGED_CHANGE_MINIMUM_SATOSHIS, LineItemType, ListActionsSpecOp, ListOutputsSpecOp, LiveBlockHeader, LiveIngestorApi, LiveIngestorBase, LiveIngestorBaseOptions, LiveIngestorChaintracksSSE, LiveIngestorChaintracksSSEOptions, LiveIngestorWhatsOnChainOptions, LiveIngestorWhatsOnChainPoll, MAX_STATE_SNAPSHOT_BYTES, ManagedChangeBasketDefaults, ManagedChangePolicy, ManagedChangePolicyOptions, MergeEntity, Monitor, MonitorOptions, MonitorStartupTaskMode, MonitorStorage, OverlayUMPTokenInteractor, PBKDF2_MAX_ITERATIONS, PBKDF2_NUM_ROUNDS, ParsedBrc114ActionTimeLabels, PendingSignAction, PendingStorageInput, PermissionEventHandler, PermissionRequest, PermissionToken, PermissionsManagerConfig, PermissionsModule, PersonaIDInteractor, PrivilegedKeyManager, Profile, ProvenTxFromTxidResult, ProvenTxReqHistory, ProvenTxReqHistorySummaryApi, ProvenTxReqNotify, ReorgListener, ResolvedDefaultChaintracksParams, ScriptTemplateBRC29, ScriptTemplateParamsBRC29, SecurityLevel, Services, SetupClient, SetupClientWalletArgs, SetupClientWalletClientArgs, SetupWallet, SetupWalletClient, SetupWalletIdb, SetupWalletIdbArgs, SimpleWalletManager, StartAuthResponse, StorageAdminStats, StorageClient, StorageIdb, StorageIdbOptions, StorageProvider, StorageProviderOptions, StorageSyncReader, SyncError, SyncMap, TESTNET_DEFAULT_SETTINGS, TableActionBatch, TableActionBatchBlob, TableActionBatchOutput, TableAuthSession, TableCertificate, TableCertificateField, TableCertificateX, TableCommission, TableMonitorEvent, TableOutput, TableOutputBasket, TableOutputTag, TableOutputTagMap, TableOutputX, TableProvenTx, TableProvenTxReq, TableProvenTxReqDynamics, TableSettings, TableSyncState, TableTransaction, TableTxLabel, TableTxLabelMap, TableUser, TrustSettings, TscMerkleProofApi, TwilioPhoneInteractor, TxScriptOffsets, UMPToken, UMPTokenInteractor, UMPTokenLookupDiagnostics, UMPTokenLookupError, UMPTokenLookupFailureReason, VerifyAndRepairBeefResult, WABAccountContinuityError, WABClient, WABClientError, WABClientErrorCode, WABClientErrorOptions, WABClientOptions, WABFaucetResponse, WABOperationResponse, WABRequestOptions, WABServerInfo, WABTransport, WABTransportOptions, Wallet, WalletArgs, WalletAuthenticationManager, WalletAuthenticationManagerOptions, WalletLogger, WalletLoggerArgs, WalletLoggerLevel, WalletPermissionsManager, WalletPermissionsManagerCallbacks, WalletSettings, WalletSettingsManager, WalletSettingsManagerConfig, WalletSigner, WalletStorageManager, WalletTheme, WhatsOnChainServices, WhatsOnChainServicesOptions, WocGetHeaderByteFileLinks, WocGetHeadersHeader, applyBrc153ReferenceLabel, arcDefaultUrl, arcGorillaPoolUrl, arcadeDefaultUrl, arraysEqual, asArray, asBsvSdkPrivateKey, asBsvSdkPublickKey, asBsvSdkScript, asBsvSdkTx, asString, asUint8Array, brc29ProtocolID, buildChaintracksOptionsWithIngestors, convertProofToMerklePath, createAndStartDefaultChaintracks, createDefaultBulkFileDataManager, createDefaultChaintracksClient, createDefaultChaintracksStorageOptions, createDefaultIdbChaintracksOptions, createDefaultNoDbChaintracksOptions, createDefaultWalletServicesOptions, createIdbChaintracks, createNoDbChaintracks, createSyncMap, decryptBRC39, defaultManagedChangePolicy, doubleSha256BE, doubleSha256LE, encryptBRC39, exportBRC38, exportBRC38Json, exportBRC39, getIdentityKey, getLabelToSpecOp, getListOutputsSpecOp, importBRC38, importBRC39, isAutoSpendableChangeOutput, isBaseBlockHeader, isBlockHeader, isBrc153ReferenceLabel, isLegacyManagedChangeBasketDefault, isLive, isLiveBlockHeader, isManagedChangeOutput, logCreateActionArgs, logWalletError, logger, makeAtomicBeef, makeBrc114ActionTimeLabel, makeBrc153ReferenceLabel, managedChangeOutputFields, maxDate, optionalArraysEqual, outputColumnsWithoutLockingScript, parseBRC38Json, parseBrc114ActionTimeLabels, parseBrc153ReferenceLabel, parseFileLink, parseTxScriptOffsets, partitionActionLabels, randomBytes, randomBytesBase64, randomBytesHex, resolveDefaultChaintracksArguments, index_d_exports as sdk, selectBulkHeaderFiles, sha256Hash, stampLog, stampLogFormat, startChaintracks, tableAuthSessionToPeerSession, throwDummyReviewActions, toBinaryBaseBlockHeader, toDefaultChaintracksArguments, toLookupNetworkPreset, toWalletNetwork, transactionColumnsWithoutRawTx, upgradeLegacyManagedChangeBasketDefault, blockHeaderUtilities_d_exports as utils, validateManagedChangePolicy, validateScriptHash, validateSecondsSinceEpoch, validateStorageFeeModel, verifyHexString, verifyId, verifyInteger, verifyNumber, verifyOne, verifyOneOrNone, verifyOptionalHexString, verifyTruthy, wait, wocGetHeadersHeaderToBlockHeader };
11567
+ export { ARGON2ID_DEFAULT_HASH_LENGTH, ARGON2ID_DEFAULT_ITERATIONS, ARGON2ID_DEFAULT_MEMORY_KIB, ARGON2ID_DEFAULT_PARALLELISM, ARGON2ID_MAX_ITERATIONS, ARGON2ID_MAX_MEMORY_KIB, ARGON2ID_MAX_PARALLELISM, ActionBatchStatus, AdminStatsResult, AnyBlockHeader, AuthMethodInteractor, AuthPayload, BHServiceClient, BRC153_REFERENCE_PREFIX, BRC38ImportOptions, BRC38ImportResult, BRC38Tables, BRC38WalletData, BRC39Options, type BaseBlockHeader, type BlockHeader, BulkFileDataCacheApi, BulkFileDataManager, BulkFileDataManagerMergeResult, BulkFileDataManagerOptions, BulkFileDataManagerStats, BulkFileDataReader, BulkFileDataValidationError, BulkFileDataValidationRequest, BulkFileDataValidationResult, BulkFileDataValidatorApi, BulkFileDataValidatorStats, BulkFileDownloadBudgetApi, BulkFileDownloadBudgetSnapshot, BulkFilesReader, BulkFilesReaderFs, BulkFilesReaderStorage, BulkHeaderFile, BulkHeaderFileFs, BulkHeaderFileInfo, BulkHeaderFileStorage, BulkHeaderFiles, BulkHeaderFilesInfo, BulkIngestorApi, BulkIngestorBase, BulkIngestorBaseOptions, BulkIngestorCDN, BulkIngestorCDNBabbage, BulkIngestorCDNOptions, BulkIngestorChaintracks, BulkIngestorChaintracksOptions, BulkIngestorWhatsOnChainCdn, BulkIngestorWhatsOnChainOptions, BulkStorageApi, BulkStorageBase, BulkStorageBaseOptions, BulkSyncResult, ByteEncoding, ByteInput, CWIStyleWalletManager, Certifier, type Chain, Chaintracks, ChaintracksApi, ChaintracksAppendableFileApi, ChaintracksArgumentsTail, ChaintracksAvailabilitySnapshotApi, ChaintracksBulkDataStatsApi, ChaintracksChainTracker, ChaintracksChainTrackerOptions, ChaintracksClientApi, ChaintracksDownloadOptions, ChaintracksFetch, ChaintracksFetchApi, ChaintracksFetchError, ChaintracksFetchOptions, ChaintracksFsApi, ChaintracksInfoApi, ChaintracksIngestorParams, ChaintracksManagementApi, ChaintracksOptions, ChaintracksPackageInfoApi, ChaintracksReadableFileApi, ChaintracksServiceClient, ChaintracksServiceClientOptions, ChaintracksSourceOptions, ChaintracksSourceStatusApi, ChaintracksStorageApi, ChaintracksStorageBase, ChaintracksStorageBaseOptions, ChaintracksStorageBulkFileApi, ChaintracksStorageIdb, ChaintracksStorageIdbOptions, ChaintracksStorageIdbSchema, ChaintracksStorageIngestApi, ChaintracksStorageNoDb, ChaintracksStorageNoDbOptions, ChaintracksStorageQueryApi, ChaintracksWritableFileApi, CompleteAuthResponse, ContactRecord, ContactSource, CounterpartyPermissionEventHandler, CounterpartyPermissionRequest, CounterpartyPermissions, CreatedChaintracks, DEFAULT_MANAGED_CHANGE_MAX_OUTPUTS_PER_ACTION, DEFAULT_MANAGED_CHANGE_MIGRATION_INPUTS_PER_ACTION, DEFAULT_MANAGED_CHANGE_MINIMUM_SATOSHIS, DEFAULT_MANAGED_CHANGE_PENDING_COMPARISON_INPUTS, DEFAULT_MANAGED_CHANGE_TARGET_UTXOS, DEFAULT_PROFILE_ID, DEFAULT_SETTINGS, DeactivedHeader, DefaultChaintracksArguments, DevConsoleInteractor, EnqueueHandler, EntityBase, EntityCertificate, EntityCertificateField, EntityCommission, EntityOutput, EntityOutputBasket, EntityOutputTag, EntityOutputTagMap, EntityProvenTx, EntityProvenTxReq, EntityStorage, EntitySyncMap, EntitySyncState, EntityTransaction, EntityTxLabel, EntityTxLabelMap, EntityUser, ErrorHandler, FixedWindowBulkFileDownloadBudget, FixedWindowBulkFileDownloadBudgetOptions, GetHeaderByteFileLinksResult, GoChaintracksServiceClient, GoChaintracksServiceClientOptions, GroupedPermissionEventHandler, GroupedPermissionRequest, GroupedPermissions, HeaderListener, HeightRange, HeightRangeApi, HeightRanges, InlineBulkFileDataValidator, InsertHeaderResult, KDF_MAX_HASH_LENGTH, KdfConfig, KeyPairAddress, LEGACY_MANAGED_CHANGE_MINIMUM_SATOSHIS, LineItemType, ListActionsSpecOp, ListOutputsSpecOp, LiveBlockHeader, LiveIngestorApi, LiveIngestorBase, LiveIngestorBaseOptions, LiveIngestorChaintracksSSE, LiveIngestorChaintracksSSEOptions, LiveIngestorWhatsOnChainOptions, LiveIngestorWhatsOnChainPoll, LocalChainTracker, LocalChainTrackerConsistency, LocalChainTrackerMode, LocalChainTrackerOptions, LocalChainTrackerRecoveryEvidence, LocalChainTrackerStatus, MAX_STATE_SNAPSHOT_BYTES, ManagedChangeBasketDefaults, ManagedChangePolicy, ManagedChangePolicyOptions, MergeEntity, Monitor, MonitorOptions, MonitorStartupTaskMode, MonitorStorage, OverlayUMPTokenInteractor, PBKDF2_MAX_ITERATIONS, PBKDF2_NUM_ROUNDS, ParsedBrc114ActionTimeLabels, PendingSignAction, PendingStorageInput, PermissionEventHandler, PermissionRequest, PermissionToken, PermissionsManagerConfig, PermissionsModule, PersonaIDInteractor, PrivilegedKeyManager, Profile, ProvenTxFromTxidResult, ProvenTxReqHistory, ProvenTxReqHistorySummaryApi, ProvenTxReqNotify, ReorgListener, ResolvedDefaultChaintracksParams, ScriptTemplateBRC29, ScriptTemplateParamsBRC29, SecurityLevel, Services, SetupClient, SetupClientWalletArgs, SetupClientWalletClientArgs, SetupWallet, SetupWalletClient, SetupWalletIdb, SetupWalletIdbArgs, SimpleWalletManager, StartAuthResponse, StorageAdminStats, StorageClient, StorageIdb, StorageIdbOptions, StorageProvider, StorageProviderOptions, StorageSyncReader, SyncError, SyncMap, TESTNET_DEFAULT_SETTINGS, TableActionBatch, TableActionBatchBlob, TableActionBatchOutput, TableAuthSession, TableCertificate, TableCertificateField, TableCertificateX, TableCommission, TableMonitorEvent, TableOutput, TableOutputBasket, TableOutputTag, TableOutputTagMap, TableOutputX, TableProvenTx, TableProvenTxReq, TableProvenTxReqDynamics, TableSettings, TableSyncState, TableTransaction, TableTxLabel, TableTxLabelMap, TableUser, TrustSettings, TscMerkleProofApi, TwilioPhoneInteractor, TxScriptOffsets, UMPToken, UMPTokenInteractor, UMPTokenLookupDiagnostics, UMPTokenLookupError, UMPTokenLookupFailureReason, VerifyAndRepairBeefResult, WABAccountContinuityError, WABClient, WABClientError, WABClientErrorCode, WABClientErrorOptions, WABClientOptions, WABFaucetResponse, WABOperationResponse, WABRequestOptions, WABServerInfo, WABTransport, WABTransportOptions, Wallet, WalletArgs, WalletAuthenticationManager, WalletAuthenticationManagerOptions, WalletLogger, WalletLoggerArgs, WalletLoggerLevel, WalletPermissionsManager, WalletPermissionsManagerCallbacks, WalletSettings, WalletSettingsManager, WalletSettingsManagerConfig, WalletSigner, WalletStorageManager, WalletTheme, WhatsOnChainServices, WhatsOnChainServicesOptions, WocGetHeaderByteFileLinks, WocGetHeadersHeader, applyBrc153ReferenceLabel, arcDefaultUrl, arcGorillaPoolUrl, arcadeDefaultUrl, arraysEqual, asArray, asBsvSdkPrivateKey, asBsvSdkPublickKey, asBsvSdkScript, asBsvSdkTx, asString, asUint8Array, brc29ProtocolID, buildChaintracksOptionsWithIngestors, convertProofToMerklePath, createAndStartDefaultChaintracks, createDefaultBulkFileDataManager, createDefaultChaintracksClient, createDefaultChaintracksStorageOptions, createDefaultIdbChaintracksOptions, createDefaultNoDbChaintracksOptions, createDefaultWalletServicesOptions, createIdbChaintracks, createNoDbChaintracks, createSyncMap, decryptBRC39, defaultManagedChangePolicy, doubleSha256BE, doubleSha256LE, encryptBRC39, exportBRC38, exportBRC38Json, exportBRC39, getIdentityKey, getLabelToSpecOp, getListOutputsSpecOp, importBRC38, importBRC39, isAutoSpendableChangeOutput, isBaseBlockHeader, isBlockHeader, isBrc153ReferenceLabel, isLegacyManagedChangeBasketDefault, isLive, isLiveBlockHeader, isManagedChangeOutput, logCreateActionArgs, logWalletError, logger, makeAtomicBeef, makeBrc114ActionTimeLabel, makeBrc153ReferenceLabel, managedChangeOutputFields, maxDate, optionalArraysEqual, outputColumnsWithoutLockingScript, parseBRC38Json, parseBrc114ActionTimeLabels, parseBrc153ReferenceLabel, parseFileLink, parseTxScriptOffsets, partitionActionLabels, randomBytes, randomBytesBase64, randomBytesHex, resolveDefaultChaintracksArguments, index_d_exports as sdk, selectBulkHeaderFiles, sha256Hash, stampLog, stampLogFormat, startChaintracks, tableAuthSessionToPeerSession, throwDummyReviewActions, toBinaryBaseBlockHeader, toDefaultChaintracksArguments, toLookupNetworkPreset, toWalletNetwork, transactionColumnsWithoutRawTx, upgradeLegacyManagedChangeBasketDefault, blockHeaderUtilities_d_exports as utils, validateManagedChangePolicy, validateScriptHash, validateSecondsSinceEpoch, validateStorageFeeModel, verifyHexString, verifyId, verifyInteger, verifyNumber, verifyOne, verifyOneOrNone, verifyOptionalHexString, verifyTruthy, wait, wocGetHeadersHeaderToBlockHeader };
11162
11568
  //# sourceMappingURL=index.client.d.mts.map