@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.
@@ -817,6 +817,41 @@ interface ChaintracksInfoApi {
817
817
  packages: ChaintracksPackageInfoApi[];
818
818
  /** Last observed source state. Additive and omitted by older services. */
819
819
  sources?: ChaintracksSourceStatusApi[];
820
+ /** Local bulk-header retrieval counters. Additive and omitted by older services. */
821
+ bulkData?: ChaintracksBulkDataStatsApi;
822
+ }
823
+ /** @public */
824
+ interface ChaintracksBulkDataStatsApi {
825
+ memoryHits: number;
826
+ storageHits: number;
827
+ persistentCacheHits: number;
828
+ persistentCacheMisses: number;
829
+ persistentCacheRejects: number;
830
+ coalescedLoads: number;
831
+ downloads: number;
832
+ downloadedBytes: number;
833
+ loadBackoffs: number;
834
+ /** Worker or portable validator statistics when the implementation exposes them. */
835
+ validation?: {
836
+ submitted: number;
837
+ completed: number;
838
+ failed: number;
839
+ rejected: number;
840
+ workerRestarts: number;
841
+ inFlight: number;
842
+ queued: number;
843
+ maxQueueDepth: number;
844
+ totalValidationMsecs: number;
845
+ maxValidationMsecs: number;
846
+ };
847
+ /** Durable download reservation state when configured. */
848
+ downloadBudget?: {
849
+ maxBytes: number;
850
+ consumedBytes: number;
851
+ remainingBytes: number;
852
+ windowStartedAt: number;
853
+ windowMsecs: number;
854
+ };
820
855
  }
821
856
  /** @public */
822
857
  interface ChaintracksSourceStatusApi {
@@ -827,6 +862,17 @@ interface ChaintracksSourceStatusApi {
827
862
  lastFailure?: string;
828
863
  error?: string;
829
864
  }
865
+ /** Constant-time, local-only process state for probes and operators. @public */
866
+ interface ChaintracksAvailabilitySnapshotApi {
867
+ available: boolean;
868
+ startupError?: string;
869
+ presentHeight?: number;
870
+ presentHeightUpdatedAt?: string;
871
+ presentHeightRefreshInFlight: boolean;
872
+ mainLoopHeartbeatAt?: string;
873
+ sources: ChaintracksSourceStatusApi[];
874
+ bulkData: ChaintracksBulkDataStatsApi;
875
+ }
830
876
  /**
831
877
  * Chaintracks client API excluding events and callbacks
832
878
  * @public
@@ -1133,6 +1179,14 @@ interface WalletServicesOptions {
1133
1179
  chain: Chain;
1134
1180
  /** Optional provider-neutral service and ChainTracks tracing. */
1135
1181
  telemetry?: TelemetryConfig;
1182
+ /**
1183
+ * Optional SDK verifier returned directly by `getChainTracker`.
1184
+ *
1185
+ * Use this for a local-primary or otherwise composed verifier. When omitted,
1186
+ * Services preserves the existing behavior of wrapping `chaintracks` in a
1187
+ * `ChaintracksChainTracker`.
1188
+ */
1189
+ chainTracker?: ChainTracker;
1136
1190
  /**
1137
1191
  * As of 2025-08-31 the `taalApiKey` is unused for default configured services.
1138
1192
  * See `arcConfig` instead.
@@ -5656,6 +5710,11 @@ interface ChaintracksFsApi {
5656
5710
  }
5657
5711
  //#endregion
5658
5712
  //#region ../src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts
5713
+ /** @public */
5714
+ interface ChaintracksDownloadOptions {
5715
+ /** Called immediately before each retry after the initial request. */
5716
+ beforeRetry?: (attempt: number) => void | Promise<void>;
5717
+ }
5659
5718
  /**
5660
5719
  * Provides a simplified interface based on the @bsv/sdk `HttpClient` class
5661
5720
  * with just the methods necesary for most Chaintracks operations.
@@ -5668,7 +5727,7 @@ interface ChaintracksFsApi {
5668
5727
  */
5669
5728
  interface ChaintracksFetchApi {
5670
5729
  httpClient: HttpClient;
5671
- download(url: string): Promise<Uint8Array>;
5730
+ download(url: string, maxResponseBytes?: number, options?: ChaintracksDownloadOptions): Promise<Uint8Array>;
5672
5731
  fetchJson<R>(url: string): Promise<R>;
5673
5732
  pathJoin(baseUrl: string, subpath: string): string;
5674
5733
  }
@@ -5694,6 +5753,124 @@ declare class BulkFileDataReader {
5694
5753
  read(): Promise<Uint8Array | undefined>;
5695
5754
  }
5696
5755
  //#endregion
5756
+ //#region ../src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.d.ts
5757
+ /**
5758
+ * Persistent backing cache for immutable bulk-header objects.
5759
+ *
5760
+ * Implementations may read packaged checkpoint assets, application storage,
5761
+ * or a filesystem. The manager validates the byte length and SHA-256 digest
5762
+ * before using any returned value or persisting a downloaded value.
5763
+ *
5764
+ * @public
5765
+ */
5766
+ interface BulkFileDataCacheApi {
5767
+ get(file: Readonly<BulkHeaderFileInfo>): Promise<Uint8Array | undefined>;
5768
+ set(file: Readonly<BulkHeaderFileInfo>, data: Uint8Array): Promise<void>;
5769
+ /**
5770
+ * Preserve a rejected object outside the active cache namespace. The manager
5771
+ * calls this before attempting a replacement and never removes a last-good
5772
+ * object merely because a newer source is unavailable.
5773
+ */
5774
+ quarantine?(file: Readonly<BulkHeaderFileInfo>, reason: string,
5775
+ /** Exact rejected bytes, used to avoid quarantining a concurrent replacement. */
5776
+ rejectedData?: Uint8Array): Promise<void>;
5777
+ /**
5778
+ * Promote a validated legacy entry into the implementation's preferred
5779
+ * immutable namespace. Implementations should make this idempotent.
5780
+ */
5781
+ promoteValidated?(file: Readonly<BulkHeaderFileInfo>, data: Uint8Array): Promise<void>;
5782
+ delete?(file: Readonly<BulkHeaderFileInfo>): Promise<void>;
5783
+ }
5784
+ /**
5785
+ * A deployment-defined budget for remote bulk-header downloads.
5786
+ * Implementations should throw before the request when the requested byte
5787
+ * reservation would exceed the configured budget.
5788
+ *
5789
+ * @public
5790
+ */
5791
+ interface BulkFileDownloadBudgetApi {
5792
+ consume(byteCount: number): void | Promise<void>;
5793
+ snapshot?(): BulkFileDownloadBudgetSnapshot;
5794
+ }
5795
+ /** @public */
5796
+ interface BulkFileDownloadBudgetSnapshot {
5797
+ maxBytes: number;
5798
+ consumedBytes: number;
5799
+ remainingBytes: number;
5800
+ windowStartedAt: number;
5801
+ windowMsecs: number;
5802
+ }
5803
+ //#endregion
5804
+ //#region ../src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.d.ts
5805
+ /**
5806
+ * Identifies deterministic rejection of the supplied immutable bytes.
5807
+ * Operational failures such as worker crashes and queue saturation deliberately
5808
+ * use ordinary errors so callers preserve the cache entry and avoid downloading
5809
+ * a replacement that cannot be validated.
5810
+ *
5811
+ * @public
5812
+ */
5813
+ declare class BulkFileDataValidationError extends Error {
5814
+ readonly data?: Uint8Array | undefined;
5815
+ constructor(message: string, data?: Uint8Array | undefined);
5816
+ }
5817
+ /**
5818
+ * Complete immutable bulk-header object supplied to a validator.
5819
+ *
5820
+ * Implementations must validate the exact byte length and digest as well as
5821
+ * every header's linkage, chain work, genesis, and proof of work.
5822
+ *
5823
+ * @public
5824
+ */
5825
+ interface BulkFileDataValidationRequest {
5826
+ fileName: string;
5827
+ data: Uint8Array;
5828
+ count: number;
5829
+ /** Expected base64 SHA-256 digest. Omit only while producing a new export. */
5830
+ fileHash?: string;
5831
+ firstHeight: number;
5832
+ prevHash: string;
5833
+ prevChainWork: string;
5834
+ lastHash?: string | null;
5835
+ lastChainWork?: string | null;
5836
+ chain?: Chain;
5837
+ }
5838
+ /** @public */
5839
+ interface BulkFileDataValidationResult {
5840
+ /** The validated bytes. Worker implementations may transfer ownership. */
5841
+ data: Uint8Array;
5842
+ fileHash: string;
5843
+ lastHeaderHash: string;
5844
+ lastChainWork: string;
5845
+ }
5846
+ /** @public */
5847
+ interface BulkFileDataValidatorStats {
5848
+ submitted: number;
5849
+ completed: number;
5850
+ failed: number;
5851
+ rejected: number;
5852
+ workerRestarts: number;
5853
+ inFlight: number;
5854
+ queued: number;
5855
+ maxQueueDepth: number;
5856
+ totalValidationMsecs: number;
5857
+ maxValidationMsecs: number;
5858
+ }
5859
+ /**
5860
+ * Asynchronous validation boundary for immutable bulk-header objects.
5861
+ *
5862
+ * Portable runtimes may validate in-process. Node services can inject a
5863
+ * worker-backed implementation so proof-of-work validation never blocks the
5864
+ * request event loop.
5865
+ *
5866
+ * @public
5867
+ */
5868
+ interface BulkFileDataValidatorApi {
5869
+ validate(request: BulkFileDataValidationRequest): Promise<BulkFileDataValidationResult>;
5870
+ getStats?(): BulkFileDataValidatorStats;
5871
+ destroy?(): Promise<void>;
5872
+ }
5873
+ //#endregion
5697
5874
  //#region ../src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts
5698
5875
  interface BulkFileDataManagerOptions {
5699
5876
  chain: Chain;
@@ -5701,6 +5878,28 @@ interface BulkFileDataManagerOptions {
5701
5878
  maxRetained?: number;
5702
5879
  fetch?: ChaintracksFetchApi;
5703
5880
  fromKnownSourceUrl?: string;
5881
+ /** Persistent cache consulted before any remote bulk-file download. */
5882
+ cache?: BulkFileDataCacheApi;
5883
+ /** Optional process-local or shared reservation budget for remote bytes. */
5884
+ downloadBudget?: BulkFileDownloadBudgetApi;
5885
+ /** Complete-object validator. Node services should inject a worker-backed implementation. */
5886
+ validator?: BulkFileDataValidatorApi;
5887
+ /** Cooldown after a failed load before the same immutable object can retry. */
5888
+ failedLoadRetryMsecs?: number;
5889
+ }
5890
+ /** @public */
5891
+ interface BulkFileDataManagerStats {
5892
+ memoryHits: number;
5893
+ storageHits: number;
5894
+ persistentCacheHits: number;
5895
+ persistentCacheMisses: number;
5896
+ persistentCacheRejects: number;
5897
+ coalescedLoads: number;
5898
+ downloads: number;
5899
+ downloadedBytes: number;
5900
+ loadBackoffs: number;
5901
+ validation?: BulkFileDataValidatorStats;
5902
+ downloadBudget?: BulkFileDownloadBudgetSnapshot;
5704
5903
  }
5705
5904
  /**
5706
5905
  * Manages bulk file data (typically 8MB chunks of 100,000 headers each).
@@ -5717,13 +5916,21 @@ declare class BulkFileDataManager {
5717
5916
  private bfds;
5718
5917
  private fileHashToIndex;
5719
5918
  private readonly lock;
5919
+ private readonly inFlightLoads;
5920
+ private readonly failedLoads;
5720
5921
  private storage?;
5922
+ private readonly stats;
5721
5923
  readonly chain: Chain;
5722
5924
  readonly maxPerFile: number;
5723
5925
  readonly fetch?: ChaintracksFetchApi;
5724
5926
  readonly maxRetained?: number;
5725
5927
  readonly fromKnownSourceUrl?: string;
5928
+ readonly cache?: BulkFileDataCacheApi;
5929
+ readonly downloadBudget?: BulkFileDownloadBudgetApi;
5930
+ readonly validator: BulkFileDataValidatorApi;
5931
+ readonly failedLoadRetryMsecs: number;
5726
5932
  constructor(options: BulkFileDataManagerOptions | Chain);
5933
+ getStats(): BulkFileDataManagerStats;
5727
5934
  deleteBulkFiles(): Promise<void>;
5728
5935
  private deleteBulkFilesNoLock;
5729
5936
  /**
@@ -5750,6 +5957,7 @@ declare class BulkFileDataManager {
5750
5957
  getBulkFiles(keepData?: boolean): Promise<BulkHeaderFileInfo[]>;
5751
5958
  getHeightRange(): Promise<HeightRange>;
5752
5959
  getDataFromFile(file: BulkHeaderFileInfo, offset?: number, length?: number): Promise<Uint8Array | undefined>;
5960
+ private getDataFromSnapshot;
5753
5961
  private getDataFromFileNoLock;
5754
5962
  findHeaderForHeightOrUndefined(height: number): Promise<BlockHeader | undefined>;
5755
5963
  getFileForHeight(height: number): Promise<BulkHeaderFileInfo | undefined>;
@@ -5816,8 +6024,14 @@ declare class BulkFileDataManager {
5816
6024
  * @returns
5817
6025
  */
5818
6026
  private ensureData;
6027
+ private loadAndValidateData;
6028
+ private loadFromStorage;
6029
+ private loadFromCache;
6030
+ private loadFromRemote;
6031
+ private validateRetrievedData;
5819
6032
  private ensureMaxRetained;
5820
6033
  exportHeadersToFs(toFs: ChaintracksFsApi, toHeadersPerFile: number, toFolder: string, sourceUrl?: string, maxHeight?: number): Promise<void>;
6034
+ destroy(): Promise<void>;
5821
6035
  }
5822
6036
  interface BulkFileData extends BulkHeaderFileInfo {
5823
6037
  mru: number;
@@ -5941,7 +6155,8 @@ interface BulkHeaderFileInfo {
5941
6155
  chain?: Chain;
5942
6156
  data?: Uint8Array;
5943
6157
  /**
5944
- * true iff these properties should be considered pre-validated, including a valid required fileHash of data (when not undefined).
6158
+ * Advisory process-local validation state. Never trust this value after it
6159
+ * crosses a network or storage boundary; revalidate the object bytes.
5945
6160
  */
5946
6161
  validated?: boolean;
5947
6162
  /**
@@ -6015,6 +6230,13 @@ interface BulkHeaderFilesInfo {
6015
6230
  */
6016
6231
  headersPerFile: number;
6017
6232
  }
6233
+ declare abstract class BulkHeaderFiles implements BulkHeaderFilesInfo {
6234
+ rootFolder: string;
6235
+ jsonFilename: string;
6236
+ files: BulkHeaderFileInfo[];
6237
+ headersPerFile: number;
6238
+ constructor(rootFolder: string, jsonFilename: string, files: BulkHeaderFileInfo[], headersPerFile: number);
6239
+ }
6018
6240
  //#endregion
6019
6241
  //#region ../src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts
6020
6242
  interface ChaintracksStorageBaseOptions {
@@ -6582,16 +6804,22 @@ declare class Chaintracks implements ChaintracksManagementApi {
6582
6804
  private lastPresentHeight;
6583
6805
  private lastPresentHeightMsecs;
6584
6806
  private readonly lastPresentHeightMaxAge;
6807
+ private presentHeightRefresh?;
6808
+ private mainLoopHeartbeatMsecs;
6585
6809
  private readonly lock;
6586
6810
  private readonly sourceStatus;
6587
6811
  constructor(options: ChaintracksOptions);
6588
6812
  getChain(): Promise<Chain>;
6589
6813
  /**
6590
- * Caches and returns most recently sourced value if less than one minute old.
6591
- * @returns the current externally available chain height (via bulk ingestors).
6814
+ * Returns the last known valid height immediately and refreshes stale state
6815
+ * once in the background. Cold start waits for the single shared refresh.
6592
6816
  */
6593
6817
  getPresentHeight(): Promise<number>;
6818
+ private refreshPresentHeight;
6819
+ private loadPresentHeight;
6594
6820
  currentHeight(): Promise<number>;
6821
+ /** Returns local process state without locks, storage reads, or network I/O. */
6822
+ getAvailabilitySnapshot(): ChaintracksAvailabilitySnapshotApi;
6595
6823
  subscribeHeaders(listener: HeaderListener): Promise<string>;
6596
6824
  subscribeReorgs(listener: ReorgListener): Promise<string>;
6597
6825
  unsubscribe(subscriptionId: string): Promise<boolean>;
@@ -7818,6 +8046,12 @@ interface ChaintracksSourceOptions {
7818
8046
  disableCdn?: boolean;
7819
8047
  /** Disable the keyless WhatsOnChain fallback on mainnet/testnet. */
7820
8048
  disableWhatsOnChain?: boolean;
8049
+ /** Persistent checkpoint/cache storage used before any remote bulk download. */
8050
+ bulkFileCache?: BulkFileDataCacheApi;
8051
+ /** Optional byte budget applied before remote bulk-file downloads. */
8052
+ bulkFileDownloadBudget?: BulkFileDownloadBudgetApi;
8053
+ /** Optional complete-object validator; Node services should use a bounded worker implementation. */
8054
+ bulkFileDataValidator?: BulkFileDataValidatorApi;
7821
8055
  }
7822
8056
  type ChaintracksArgumentsTail = [whatsonchainApiKey?: string, maxPerFile?: number, maxRetained?: number, fetch?: ChaintracksFetchApi, cdnUrl?: string, liveHeightThreshold?: number, reorgHeightThreshold?: number, bulkMigrationChunkSize?: number, batchInsertLimit?: number, addLiveRecursionLimit?: number, sources?: ChaintracksSourceOptions];
7823
8057
  type DefaultChaintracksArguments = [chain: Chain, ...options: ChaintracksArgumentsTail];
@@ -7956,6 +8190,18 @@ declare class BulkFilesReaderStorage extends BulkFilesReader {
7956
8190
  }
7957
8191
  //#endregion
7958
8192
  //#region ../src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts
8193
+ interface ChaintracksFetchOptions {
8194
+ /** Number of retries after the initial request. Defaults to three. */
8195
+ maxRetries?: number;
8196
+ /** Deadline covering connection, headers, and response body. */
8197
+ timeoutMsecs?: number;
8198
+ /** Maximum materialized response size for binary and JSON requests. */
8199
+ maxResponseBytes?: number;
8200
+ retryMsecs?: number;
8201
+ maxRetryMsecs?: number;
8202
+ /** Testable jitter source in the inclusive range 0..1. */
8203
+ random?: () => number;
8204
+ }
7959
8205
  declare class ChaintracksFetchError extends Error {
7960
8206
  readonly url: string;
7961
8207
  readonly status: number;
@@ -7965,17 +8211,74 @@ declare class ChaintracksFetchError extends Error {
7965
8211
  get retryable(): boolean;
7966
8212
  }
7967
8213
  /**
7968
- * This class implements the ChaintracksFetchApi
7969
- * using the @bsv/sdk `defaultHttpClient`.
8214
+ * Bounded fetch implementation shared by ChainTracks sources.
8215
+ *
8216
+ * Retry policy lives here so callers never multiply attempts. Every attempt
8217
+ * has a deadline that remains active while the response body is consumed, and
8218
+ * every materialized response has an explicit byte ceiling.
7970
8219
  */
7971
8220
  declare class ChaintracksFetch implements ChaintracksFetchApi {
7972
8221
  httpClient: HttpClient;
7973
- download(url: string): Promise<Uint8Array>;
8222
+ private readonly maxRetries;
8223
+ private readonly timeoutMsecs;
8224
+ private readonly maxResponseBytes;
8225
+ private readonly retryMsecs;
8226
+ private readonly maxRetryMsecs;
8227
+ private readonly random;
8228
+ constructor(options?: ChaintracksFetchOptions);
8229
+ download(url: string, maxResponseBytes?: number, options?: ChaintracksDownloadOptions): Promise<Uint8Array>;
7974
8230
  fetchJson<R>(url: string): Promise<R>;
8231
+ private requestBytes;
8232
+ private requestAttempt;
8233
+ private readResponseBytes;
8234
+ private responseTooLarge;
8235
+ private retryWaitMsecs;
7975
8236
  pathJoin(baseUrl: string, subpath: string): string;
7976
8237
  }
8238
+ //#endregion
8239
+ //#region ../src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.d.ts
8240
+ interface FixedWindowBulkFileDownloadBudgetOptions {
8241
+ maxBytes: number;
8242
+ windowMsecs?: number;
8243
+ now?: () => number;
8244
+ }
8245
+ /**
8246
+ * Conservative process-local byte reservation budget for remote bulk-header
8247
+ * downloads. A reservation is retained even when the subsequent request
8248
+ * fails, preventing a failing upstream from bypassing the bound.
8249
+ *
8250
+ * @public
8251
+ */
8252
+ declare class FixedWindowBulkFileDownloadBudget implements BulkFileDownloadBudgetApi {
8253
+ private readonly maxBytes;
8254
+ private readonly windowMsecs;
8255
+ private readonly now;
8256
+ private windowStartedAt;
8257
+ private consumedBytes;
8258
+ constructor(options: FixedWindowBulkFileDownloadBudgetOptions);
8259
+ consume(byteCount: number): void;
8260
+ snapshot(): {
8261
+ maxBytes: number;
8262
+ consumedBytes: number;
8263
+ remainingBytes: number;
8264
+ windowStartedAt: number;
8265
+ windowMsecs: number;
8266
+ };
8267
+ }
8268
+ //#endregion
8269
+ //#region ../src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts
8270
+ /**
8271
+ * Portable complete-object validator. Node services should normally inject
8272
+ * `NodeBulkFileDataValidator`; browser and mobile consumers retain this
8273
+ * dependency-free fallback.
8274
+ *
8275
+ * @public
8276
+ */
8277
+ declare class InlineBulkFileDataValidator implements BulkFileDataValidatorApi {
8278
+ validate(request: BulkFileDataValidationRequest): Promise<BulkFileDataValidationResult>;
8279
+ }
7977
8280
  declare namespace blockHeaderUtilities_d_exports {
7978
- 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 };
8281
+ 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 };
7979
8282
  }
7980
8283
  /**
7981
8284
  * Computes sha256 hash of file contents read as bytes with no encoding.
@@ -8050,14 +8353,22 @@ declare function deserializeBaseBlockHeaders(buffer: number[] | Uint8Array, offs
8050
8353
  declare function deserializeBlockHeaders(firstHeight: number, buffer: number[] | Uint8Array, offset?: number, count?: number | undefined): BlockHeader[];
8051
8354
  declare function validateHeaderFormat(header: BlockHeader): void;
8052
8355
  /**
8053
- * Ensures that a header has a valid proof-of-work
8054
- * Requires chain is 'main'
8356
+ * Ensures that a header has a valid proof-of-work target and hash.
8055
8357
  *
8056
8358
  * @param header The header to validate
8057
8359
  *
8058
8360
  * @returns true if the header is valid
8059
8361
  */
8060
- declare function validateHeaderDifficulty(hash: Buffer, bits: number): boolean;
8362
+ declare function validateHeaderDifficulty(hash: number[] | Uint8Array, bits: number): boolean;
8363
+ /**
8364
+ * Ensures that a structured header's computed hash satisfies its declared
8365
+ * proof-of-work target.
8366
+ *
8367
+ * @param header Header whose format and hash have already been checked.
8368
+ * @returns true if the header has valid proof-of-work.
8369
+ * @publicbody
8370
+ */
8371
+ declare function validateHeaderProofOfWork(header: BlockHeader): true;
8061
8372
  /**
8062
8373
  * Computes double sha256 hash of bitcoin block header
8063
8374
  * bytes are reversed to bigendian order
@@ -8150,6 +8461,101 @@ declare class ChaintracksChainTracker implements ChainTracker {
8150
8461
  private isValidRootForHeightCore;
8151
8462
  }
8152
8463
  //#endregion
8464
+ //#region ../src/services/chaintracker/LocalChainTracker.d.ts
8465
+ /** @public */
8466
+ type LocalChainTrackerMode = 'local-primary' | 'remote-only';
8467
+ /** @public */
8468
+ type LocalChainTrackerConsistency = 'unchecked' | 'agreed' | 'lagging' | 'diverged' | 'insufficient-references' | 'error';
8469
+ /** @public */
8470
+ interface LocalChainTrackerRecoveryEvidence {
8471
+ reason: 'lagging' | 'diverged';
8472
+ localHeight: number;
8473
+ referenceHeight: number;
8474
+ heightLag: number;
8475
+ comparisonHeight: number;
8476
+ expectedHash: string;
8477
+ referenceAgreement: number;
8478
+ }
8479
+ /** @public */
8480
+ interface LocalChainTrackerStatus {
8481
+ mode: LocalChainTrackerMode;
8482
+ activeSource: string;
8483
+ consistency: LocalChainTrackerConsistency;
8484
+ localHeight?: number;
8485
+ localTipHash?: string;
8486
+ referenceHeight?: number;
8487
+ heightLag?: number;
8488
+ comparisonHeight?: number;
8489
+ expectedHash?: string;
8490
+ referenceAgreement?: number;
8491
+ checkedAt?: string;
8492
+ recoveredAt?: string;
8493
+ lastFallbackAt?: string;
8494
+ lastError?: string;
8495
+ }
8496
+ /** @public */
8497
+ interface LocalChainTrackerOptions {
8498
+ /** Locally persisted, proof-of-work-validating ChainTracks client. */
8499
+ local: ChaintracksClientApi;
8500
+ /** Independent references used for diagnostics and exceptional fallback. */
8501
+ fallbacks?: ChaintracksClientApi[];
8502
+ mode?: LocalChainTrackerMode;
8503
+ fallbackOnLocalError?: boolean;
8504
+ /** Number of matching references needed for a fallback validation result. */
8505
+ requiredFallbackAgreement?: number;
8506
+ /** Number of matching references needed to declare local divergence. */
8507
+ requiredConsistencyAgreement?: number;
8508
+ /** Quorum-backed height lag tolerated before local state is considered stuck. */
8509
+ maxHeightLag?: number;
8510
+ autoRecover?: boolean;
8511
+ /** Clears/reseeds local state and returns the replacement local client. */
8512
+ recoverLocal?: (evidence: LocalChainTrackerRecoveryEvidence) => Promise<ChaintracksClientApi>;
8513
+ /** Clears local state and returns a fresh local client. */
8514
+ clearLocal?: () => Promise<ChaintracksClientApi>;
8515
+ now?: () => Date;
8516
+ }
8517
+ /**
8518
+ * Local-first SDK ChainTracker with explicit management and fallback state.
8519
+ *
8520
+ * A definitive local `false` validation is never overridden by a remote
8521
+ * source. Fallback is reserved for local exceptions or explicit remote-only
8522
+ * mode, and applications can require agreement across multiple independent
8523
+ * references before accepting a fallback result.
8524
+ *
8525
+ * @public
8526
+ */
8527
+ declare class LocalChainTracker implements ChainTracker {
8528
+ private local;
8529
+ private readonly fallbacks;
8530
+ private readonly fallbackOnLocalError;
8531
+ private readonly requiredFallbackAgreement;
8532
+ private readonly requiredConsistencyAgreement;
8533
+ private readonly maxHeightLag;
8534
+ private readonly autoRecover;
8535
+ private readonly recoverLocal;
8536
+ private readonly clearLocal;
8537
+ private readonly now;
8538
+ private status;
8539
+ constructor(options: LocalChainTrackerOptions);
8540
+ getMode(): LocalChainTrackerMode;
8541
+ setMode(mode: LocalChainTrackerMode): void;
8542
+ getStatus(): LocalChainTrackerStatus;
8543
+ getLocalClient(): ChaintracksClientApi;
8544
+ currentHeight(): Promise<number>;
8545
+ isValidRootForHeight(root: string, height: number): Promise<boolean>;
8546
+ synchronize(): Promise<LocalChainTrackerStatus>;
8547
+ clearLocalData(): Promise<LocalChainTrackerStatus>;
8548
+ checkConsistency(): Promise<LocalChainTrackerStatus>;
8549
+ private checkConsistencyInternal;
8550
+ private fallbackHeight;
8551
+ private fallbackValidation;
8552
+ private recordFallback;
8553
+ private recordError;
8554
+ private errorMessage;
8555
+ private validateAgreement;
8556
+ private validateHeightLag;
8557
+ }
8558
+ //#endregion
8153
8559
  //#region ../src/services/chaintracker/BHServiceClient.d.ts
8154
8560
  declare class BHServiceClient implements ChaintracksServiceClient {
8155
8561
  bhs: BlockHeadersService;
@@ -11159,5 +11565,5 @@ declare class WalletPermissionsManager implements WalletInterface {
11159
11565
  private buildActiveRequestKey;
11160
11566
  }
11161
11567
  //#endregion
11162
- 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 };
11568
+ 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 };
11163
11569
  //# sourceMappingURL=index.client.d.cts.map