@bsv/wallet-toolbox 1.6.6 → 1.6.8

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.
Files changed (42) hide show
  1. package/docs/client.md +318 -147
  2. package/docs/services.md +227 -56
  3. package/docs/wallet.md +318 -147
  4. package/mobile/out/src/index.client.d.ts +1 -0
  5. package/mobile/out/src/index.client.d.ts.map +1 -1
  6. package/mobile/out/src/index.client.js +1 -0
  7. package/mobile/out/src/index.client.js.map +1 -1
  8. package/mobile/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts +1 -1
  9. package/mobile/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -1
  10. package/mobile/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +2 -2
  11. package/mobile/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
  12. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  13. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +3 -1
  14. package/mobile/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  15. package/mobile/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +16 -16
  16. package/mobile/package-lock.json +2 -2
  17. package/mobile/package.json +1 -1
  18. package/out/src/index.client.d.ts +1 -0
  19. package/out/src/index.client.d.ts.map +1 -1
  20. package/out/src/index.client.js +1 -0
  21. package/out/src/index.client.js.map +1 -1
  22. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.js +1 -1
  23. package/out/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.js.map +1 -1
  24. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.js +1 -1
  25. package/out/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.js.map +1 -1
  26. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts +1 -1
  27. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -1
  28. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +2 -2
  29. package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
  30. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  31. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +3 -1
  32. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  33. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +16 -16
  34. package/out/tsconfig.all.tsbuildinfo +1 -1
  35. package/package.json +1 -1
  36. package/src/index.client.ts +1 -0
  37. package/src/services/chaintracker/chaintracks/__tests/ChaintracksClientApi.test.ts +1 -2
  38. package/src/services/chaintracker/chaintracks/__tests/createIdbChaintracks.test.ts +2 -2
  39. package/src/services/chaintracker/chaintracks/createIdbChaintracks.ts +1 -1
  40. package/src/services/chaintracker/chaintracks/util/BulkFileDataManager.ts +6 -3
  41. package/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.ts +16 -16
  42. package/src/storage/remoting/StorageServer.ts +1 -1
package/docs/services.md CHANGED
@@ -23,24 +23,24 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
23
23
 
24
24
  | | | |
25
25
  | --- | --- | --- |
26
- | [ArcConfig](#interface-arcconfig) | [ChaintracksClientApi](#interface-chaintracksclientapi) | [ChaintracksWritableFileApi](#interface-chaintrackswritablefileapi) |
27
- | [ArcMinerGetTxData](#interface-arcminergettxdata) | [ChaintracksFetchApi](#interface-chaintracksfetchapi) | [ExchangeRatesIoApi](#interface-exchangeratesioapi) |
28
- | [BitailsConfig](#interface-bitailsconfig) | [ChaintracksFsApi](#interface-chaintracksfsapi) | [GetHeaderByteFileLinksResult](#interface-getheaderbytefilelinksresult) |
29
- | [BitailsMerkleProof](#interface-bitailsmerkleproof) | [ChaintracksInfoApi](#interface-chaintracksinfoapi) | [HeightRangeApi](#interface-heightrangeapi) |
30
- | [BulkFileDataManagerMergeResult](#interface-bulkfiledatamanagermergeresult) | [ChaintracksManagementApi](#interface-chaintracksmanagementapi) | [HeightRanges](#interface-heightranges) |
31
- | [BulkFileDataManagerOptions](#interface-bulkfiledatamanageroptions) | [ChaintracksOptions](#interface-chaintracksoptions) | [LiveBlockHeader](#interface-liveblockheader) |
32
- | [BulkHeaderFileInfo](#interface-bulkheaderfileinfo) | [ChaintracksPackageInfoApi](#interface-chaintrackspackageinfoapi) | [LiveIngestorApi](#interface-liveingestorapi) |
33
- | [BulkHeaderFilesInfo](#interface-bulkheaderfilesinfo) | [ChaintracksReadableFileApi](#interface-chaintracksreadablefileapi) | [LiveIngestorBaseOptions](#interface-liveingestorbaseoptions) |
34
- | [BulkIngestorApi](#interface-bulkingestorapi) | [ChaintracksServiceClientOptions](#interface-chaintracksserviceclientoptions) | [LiveIngestorWhatsOnChainOptions](#interface-liveingestorwhatsonchainoptions) |
35
- | [BulkIngestorBaseOptions](#interface-bulkingestorbaseoptions) | [ChaintracksServiceOptions](#interface-chaintracksserviceoptions) | [ServiceCall](#interface-servicecall) |
36
- | [BulkIngestorCDNOptions](#interface-bulkingestorcdnoptions) | [ChaintracksStorageApi](#interface-chaintracksstorageapi) | [ServiceToCall](#interface-servicetocall) |
37
- | [BulkIngestorWhatsOnChainOptions](#interface-bulkingestorwhatsonchainoptions) | [ChaintracksStorageBaseOptions](#interface-chaintracksstoragebaseoptions) | [WhatsOnChainServicesOptions](#interface-whatsonchainservicesoptions) |
38
- | [BulkStorageApi](#interface-bulkstorageapi) | [ChaintracksStorageBulkFileApi](#interface-chaintracksstoragebulkfileapi) | [WocChainInfo](#interface-wocchaininfo) |
39
- | [BulkStorageBaseOptions](#interface-bulkstoragebaseoptions) | [ChaintracksStorageIngestApi](#interface-chaintracksstorageingestapi) | [WocGetHeaderByteFileLinks](#interface-wocgetheaderbytefilelinks) |
40
- | [BulkSyncResult](#interface-bulksyncresult) | [ChaintracksStorageKnexOptions](#interface-chaintracksstorageknexoptions) | [WocGetHeadersHeader](#interface-wocgetheadersheader) |
41
- | [ChaintracksApi](#interface-chaintracksapi) | [ChaintracksStorageMemoryOptions](#interface-chaintracksstoragememoryoptions) | [WocHeader](#interface-wocheader) |
42
- | [ChaintracksAppendableFileApi](#interface-chaintracksappendablefileapi) | [ChaintracksStorageNoDbOptions](#interface-chaintracksstoragenodboptions) | |
43
- | [ChaintracksChainTrackerOptions](#interface-chaintrackschaintrackeroptions) | [ChaintracksStorageQueryApi](#interface-chaintracksstoragequeryapi) | |
26
+ | [ArcConfig](#interface-arcconfig) | [ChaintracksClientApi](#interface-chaintracksclientapi) | [ChaintracksStorageNoDbOptions](#interface-chaintracksstoragenodboptions) |
27
+ | [ArcMinerGetTxData](#interface-arcminergettxdata) | [ChaintracksFetchApi](#interface-chaintracksfetchapi) | [ChaintracksStorageQueryApi](#interface-chaintracksstoragequeryapi) |
28
+ | [BitailsConfig](#interface-bitailsconfig) | [ChaintracksFsApi](#interface-chaintracksfsapi) | [ChaintracksWritableFileApi](#interface-chaintrackswritablefileapi) |
29
+ | [BitailsMerkleProof](#interface-bitailsmerkleproof) | [ChaintracksInfoApi](#interface-chaintracksinfoapi) | [ExchangeRatesIoApi](#interface-exchangeratesioapi) |
30
+ | [BulkFileDataManagerMergeResult](#interface-bulkfiledatamanagermergeresult) | [ChaintracksManagementApi](#interface-chaintracksmanagementapi) | [GetHeaderByteFileLinksResult](#interface-getheaderbytefilelinksresult) |
31
+ | [BulkFileDataManagerOptions](#interface-bulkfiledatamanageroptions) | [ChaintracksOptions](#interface-chaintracksoptions) | [HeightRangeApi](#interface-heightrangeapi) |
32
+ | [BulkHeaderFileInfo](#interface-bulkheaderfileinfo) | [ChaintracksPackageInfoApi](#interface-chaintrackspackageinfoapi) | [HeightRanges](#interface-heightranges) |
33
+ | [BulkHeaderFilesInfo](#interface-bulkheaderfilesinfo) | [ChaintracksReadableFileApi](#interface-chaintracksreadablefileapi) | [LiveBlockHeader](#interface-liveblockheader) |
34
+ | [BulkIngestorApi](#interface-bulkingestorapi) | [ChaintracksServiceClientOptions](#interface-chaintracksserviceclientoptions) | [LiveIngestorApi](#interface-liveingestorapi) |
35
+ | [BulkIngestorBaseOptions](#interface-bulkingestorbaseoptions) | [ChaintracksServiceOptions](#interface-chaintracksserviceoptions) | [LiveIngestorBaseOptions](#interface-liveingestorbaseoptions) |
36
+ | [BulkIngestorCDNOptions](#interface-bulkingestorcdnoptions) | [ChaintracksStorageApi](#interface-chaintracksstorageapi) | [LiveIngestorWhatsOnChainOptions](#interface-liveingestorwhatsonchainoptions) |
37
+ | [BulkIngestorWhatsOnChainOptions](#interface-bulkingestorwhatsonchainoptions) | [ChaintracksStorageBaseOptions](#interface-chaintracksstoragebaseoptions) | [ServiceCall](#interface-servicecall) |
38
+ | [BulkStorageApi](#interface-bulkstorageapi) | [ChaintracksStorageBulkFileApi](#interface-chaintracksstoragebulkfileapi) | [ServiceToCall](#interface-servicetocall) |
39
+ | [BulkStorageBaseOptions](#interface-bulkstoragebaseoptions) | [ChaintracksStorageIdbOptions](#interface-chaintracksstorageidboptions) | [WhatsOnChainServicesOptions](#interface-whatsonchainservicesoptions) |
40
+ | [BulkSyncResult](#interface-bulksyncresult) | [ChaintracksStorageIdbSchema](#interface-chaintracksstorageidbschema) | [WocChainInfo](#interface-wocchaininfo) |
41
+ | [ChaintracksApi](#interface-chaintracksapi) | [ChaintracksStorageIngestApi](#interface-chaintracksstorageingestapi) | [WocGetHeaderByteFileLinks](#interface-wocgetheaderbytefilelinks) |
42
+ | [ChaintracksAppendableFileApi](#interface-chaintracksappendablefileapi) | [ChaintracksStorageKnexOptions](#interface-chaintracksstorageknexoptions) | [WocGetHeadersHeader](#interface-wocgetheadersheader) |
43
+ | [ChaintracksChainTrackerOptions](#interface-chaintrackschaintrackeroptions) | [ChaintracksStorageMemoryOptions](#interface-chaintracksstoragememoryoptions) | [WocHeader](#interface-wocheader) |
44
44
 
45
45
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
46
46
 
@@ -1512,6 +1512,52 @@ See also: [BulkHeaderFileInfo](./services.md#interface-bulkheaderfileinfo)
1512
1512
 
1513
1513
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1514
1514
 
1515
+ ---
1516
+ ##### Interface: ChaintracksStorageIdbOptions
1517
+
1518
+ ```ts
1519
+ export interface ChaintracksStorageIdbOptions extends ChaintracksStorageBaseOptions {
1520
+ }
1521
+ ```
1522
+
1523
+ See also: [ChaintracksStorageBaseOptions](./services.md#interface-chaintracksstoragebaseoptions)
1524
+
1525
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1526
+
1527
+ ---
1528
+ ##### Interface: ChaintracksStorageIdbSchema
1529
+
1530
+ ```ts
1531
+ export interface ChaintracksStorageIdbSchema {
1532
+ liveHeaders: {
1533
+ key: number;
1534
+ value: LiveBlockHeader;
1535
+ indexes: {
1536
+ hash: string;
1537
+ previousHash: string;
1538
+ previousHeaderId: number | null;
1539
+ isActive: boolean;
1540
+ activeTip: [
1541
+ boolean,
1542
+ boolean
1543
+ ];
1544
+ height: number;
1545
+ };
1546
+ };
1547
+ bulkHeaders: {
1548
+ key: number;
1549
+ value: BulkHeaderFileInfo;
1550
+ indexes: {
1551
+ firstHeight: number;
1552
+ };
1553
+ };
1554
+ }
1555
+ ```
1556
+
1557
+ See also: [BulkHeaderFileInfo](./services.md#interface-bulkheaderfileinfo), [LiveBlockHeader](./services.md#interface-liveblockheader)
1558
+
1559
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1560
+
1515
1561
  ---
1516
1562
  ##### Interface: ChaintracksStorageIngestApi
1517
1563
 
@@ -2565,20 +2611,21 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
2565
2611
 
2566
2612
  | | | |
2567
2613
  | --- | --- | --- |
2568
- | [ARC](#class-arc) | [BulkIngestorCDNBabbage](#class-bulkingestorcdnbabbage) | [ChaintracksStorageKnex](#class-chaintracksstorageknex) |
2569
- | [BHServiceClient](#class-bhserviceclient) | [BulkIngestorWhatsOnChainCdn](#class-bulkingestorwhatsonchaincdn) | [ChaintracksStorageNoDb](#class-chaintracksstoragenodb) |
2570
- | [Bitails](#class-bitails) | [BulkIngestorWhatsOnChainWs](#class-bulkingestorwhatsonchainws) | [ChaintracksWritableFile](#class-chaintrackswritablefile) |
2571
- | [BulkFileDataManager](#class-bulkfiledatamanager) | [BulkStorageBase](#class-bulkstoragebase) | [HeightRange](#class-heightrange) |
2572
- | [BulkFileDataReader](#class-bulkfiledatareader) | [Chaintracks](#class-chaintracks) | [LiveIngestorBase](#class-liveingestorbase) |
2573
- | [BulkFilesReader](#class-bulkfilesreader) | [ChaintracksAppendableFile](#class-chaintracksappendablefile) | [LiveIngestorWhatsOnChainPoll](#class-liveingestorwhatsonchainpoll) |
2574
- | [BulkFilesReaderFs](#class-bulkfilesreaderfs) | [ChaintracksChainTracker](#class-chaintrackschaintracker) | [LiveIngestorWhatsOnChainWs](#class-liveingestorwhatsonchainws) |
2575
- | [BulkFilesReaderStorage](#class-bulkfilesreaderstorage) | [ChaintracksFetch](#class-chaintracksfetch) | [SdkWhatsOnChain](#class-sdkwhatsonchain) |
2576
- | [BulkHeaderFile](#class-bulkheaderfile) | [ChaintracksFsStatics](#class-chaintracksfsstatics) | [ServiceCollection](#class-servicecollection) |
2577
- | [BulkHeaderFileFs](#class-bulkheaderfilefs) | [ChaintracksKnexMigrations](#class-chaintracksknexmigrations) | [Services](#class-services) |
2578
- | [BulkHeaderFileStorage](#class-bulkheaderfilestorage) | [ChaintracksReadableFile](#class-chaintracksreadablefile) | [SingleWriterMultiReaderLock](#class-singlewritermultireaderlock) |
2579
- | [BulkHeaderFiles](#class-bulkheaderfiles) | [ChaintracksService](#class-chaintracksservice) | [WhatsOnChain](#class-whatsonchain) |
2580
- | [BulkIngestorBase](#class-bulkingestorbase) | [ChaintracksServiceClient](#class-chaintracksserviceclient) | [WhatsOnChainNoServices](#class-whatsonchainnoservices) |
2581
- | [BulkIngestorCDN](#class-bulkingestorcdn) | [ChaintracksStorageBase](#class-chaintracksstoragebase) | [WhatsOnChainServices](#class-whatsonchainservices) |
2614
+ | [ARC](#class-arc) | [BulkIngestorWhatsOnChainCdn](#class-bulkingestorwhatsonchaincdn) | [ChaintracksStorageNoDb](#class-chaintracksstoragenodb) |
2615
+ | [BHServiceClient](#class-bhserviceclient) | [BulkIngestorWhatsOnChainWs](#class-bulkingestorwhatsonchainws) | [ChaintracksWritableFile](#class-chaintrackswritablefile) |
2616
+ | [Bitails](#class-bitails) | [BulkStorageBase](#class-bulkstoragebase) | [HeightRange](#class-heightrange) |
2617
+ | [BulkFileDataManager](#class-bulkfiledatamanager) | [Chaintracks](#class-chaintracks) | [LiveIngestorBase](#class-liveingestorbase) |
2618
+ | [BulkFileDataReader](#class-bulkfiledatareader) | [ChaintracksAppendableFile](#class-chaintracksappendablefile) | [LiveIngestorWhatsOnChainPoll](#class-liveingestorwhatsonchainpoll) |
2619
+ | [BulkFilesReader](#class-bulkfilesreader) | [ChaintracksChainTracker](#class-chaintrackschaintracker) | [LiveIngestorWhatsOnChainWs](#class-liveingestorwhatsonchainws) |
2620
+ | [BulkFilesReaderFs](#class-bulkfilesreaderfs) | [ChaintracksFetch](#class-chaintracksfetch) | [SdkWhatsOnChain](#class-sdkwhatsonchain) |
2621
+ | [BulkFilesReaderStorage](#class-bulkfilesreaderstorage) | [ChaintracksFsStatics](#class-chaintracksfsstatics) | [ServiceCollection](#class-servicecollection) |
2622
+ | [BulkHeaderFile](#class-bulkheaderfile) | [ChaintracksKnexMigrations](#class-chaintracksknexmigrations) | [Services](#class-services) |
2623
+ | [BulkHeaderFileFs](#class-bulkheaderfilefs) | [ChaintracksReadableFile](#class-chaintracksreadablefile) | [SingleWriterMultiReaderLock](#class-singlewritermultireaderlock) |
2624
+ | [BulkHeaderFileStorage](#class-bulkheaderfilestorage) | [ChaintracksService](#class-chaintracksservice) | [WhatsOnChain](#class-whatsonchain) |
2625
+ | [BulkHeaderFiles](#class-bulkheaderfiles) | [ChaintracksServiceClient](#class-chaintracksserviceclient) | [WhatsOnChainNoServices](#class-whatsonchainnoservices) |
2626
+ | [BulkIngestorBase](#class-bulkingestorbase) | [ChaintracksStorageBase](#class-chaintracksstoragebase) | [WhatsOnChainServices](#class-whatsonchainservices) |
2627
+ | [BulkIngestorCDN](#class-bulkingestorcdn) | [ChaintracksStorageIdb](#class-chaintracksstorageidb) | |
2628
+ | [BulkIngestorCDNBabbage](#class-bulkingestorcdnbabbage) | [ChaintracksStorageKnex](#class-chaintracksstorageknex) | |
2582
2629
 
2583
2630
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
2584
2631
 
@@ -3860,6 +3907,97 @@ Argument Details
3860
3907
 
3861
3908
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
3862
3909
 
3910
+ ---
3911
+ ##### Class: ChaintracksStorageIdb
3912
+
3913
+ ```ts
3914
+ export class ChaintracksStorageIdb extends ChaintracksStorageBase implements ChaintracksStorageBulkFileApi {
3915
+ dbName: string;
3916
+ db?: IDBPDatabase<ChaintracksStorageIdbSchema>;
3917
+ whenLastAccess?: Date;
3918
+ allStores: string[] = ["live_headers", "bulk_headers"];
3919
+ constructor(options: ChaintracksStorageIdbOptions)
3920
+ override async migrateLatest(): Promise<void>
3921
+ override async destroy(): Promise<void>
3922
+ override async deleteLiveBlockHeaders(): Promise<void>
3923
+ override async deleteOlderLiveBlockHeaders(maxHeight: number): Promise<number>
3924
+ override async findChainTipHeader(): Promise<LiveBlockHeader>
3925
+ override async findChainTipHeaderOrUndefined(): Promise<LiveBlockHeader | undefined>
3926
+ override async findLiveHeaderForBlockHash(hash: string): Promise<LiveBlockHeader | null>
3927
+ override async findLiveHeaderForHeaderId(headerId: number): Promise<LiveBlockHeader>
3928
+ override async findLiveHeaderForHeight(height: number): Promise<LiveBlockHeader | null>
3929
+ override async findLiveHeaderForMerkleRoot(merkleRoot: string): Promise<LiveBlockHeader | null>
3930
+ override async findLiveHeightRange(): Promise<HeightRange>
3931
+ override async findMaxHeaderId(): Promise<number>
3932
+ override async liveHeadersForBulk(count: number): Promise<LiveBlockHeader[]>
3933
+ override async getLiveHeaders(range: HeightRange): Promise<LiveBlockHeader[]>
3934
+ override async insertHeader(header: BlockHeader): Promise<InsertHeaderResult>
3935
+ async deleteBulkFile(fileId: number): Promise<number>
3936
+ async insertBulkFile(file: BulkHeaderFileInfo): Promise<number>
3937
+ async updateBulkFile(fileId: number, file: BulkHeaderFileInfo): Promise<number>
3938
+ async getBulkFiles(): Promise<BulkHeaderFileInfo[]>
3939
+ async getBulkFileData(fileId: number, offset?: number, length?: number): Promise<Uint8Array | undefined>
3940
+ async insertLiveHeader(header: LiveBlockHeader): Promise<LiveBlockHeader>
3941
+ async initDB(): Promise<IDBPDatabase<ChaintracksStorageIdbSchema>>
3942
+ toDbTrxReadOnly(stores: string[]): IDBPTransaction<ChaintracksStorageIdbSchema, string[], "readonly">
3943
+ toDbTrxReadWrite(stores: string[]): IDBPTransaction<ChaintracksStorageIdbSchema, string[], "readwrite">
3944
+ }
3945
+ ```
3946
+
3947
+ See also: [BlockHeader](./client.md#interface-blockheader), [BulkHeaderFileInfo](./services.md#interface-bulkheaderfileinfo), [ChaintracksStorageBase](./services.md#class-chaintracksstoragebase), [ChaintracksStorageBulkFileApi](./services.md#interface-chaintracksstoragebulkfileapi), [ChaintracksStorageIdbOptions](./services.md#interface-chaintracksstorageidboptions), [ChaintracksStorageIdbSchema](./services.md#interface-chaintracksstorageidbschema), [HeightRange](./services.md#class-heightrange), [InsertHeaderResult](./services.md#type-insertheaderresult), [LiveBlockHeader](./services.md#interface-liveblockheader)
3948
+
3949
+ ###### Method deleteOlderLiveBlockHeaders
3950
+
3951
+ Delete live headers with height less or equal to `maxHeight`
3952
+
3953
+ Set existing headers with previousHeaderId value set to the headerId value of
3954
+ a header which is to be deleted to null.
3955
+
3956
+ ```ts
3957
+ override async deleteOlderLiveBlockHeaders(maxHeight: number): Promise<number>
3958
+ ```
3959
+
3960
+ Returns
3961
+
3962
+ number of deleted records
3963
+
3964
+ Argument Details
3965
+
3966
+ + **maxHeight**
3967
+ + delete all records with less or equal `height`
3968
+
3969
+ ###### Method findChainTipHeader
3970
+
3971
+ ```ts
3972
+ override async findChainTipHeader(): Promise<LiveBlockHeader>
3973
+ ```
3974
+ See also: [LiveBlockHeader](./services.md#interface-liveblockheader)
3975
+
3976
+ Returns
3977
+
3978
+ the active chain tip header
3979
+
3980
+ Throws
3981
+
3982
+ an error if there is no tip.
3983
+
3984
+ ###### Method findChainTipHeaderOrUndefined
3985
+
3986
+ ```ts
3987
+ override async findChainTipHeaderOrUndefined(): Promise<LiveBlockHeader | undefined>
3988
+ ```
3989
+ See also: [LiveBlockHeader](./services.md#interface-liveblockheader)
3990
+
3991
+ Returns
3992
+
3993
+ the active chain tip header
3994
+
3995
+ Throws
3996
+
3997
+ an error if there is no tip.
3998
+
3999
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
4000
+
3863
4001
  ---
3864
4002
  ##### Class: ChaintracksStorageKnex
3865
4003
 
@@ -4619,24 +4757,25 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
4619
4757
 
4620
4758
  | | | |
4621
4759
  | --- | --- | --- |
4622
- | [WocHeadersBulkListener](#function-wocheadersbulklistener) | [deserializeBlockHeader](#function-deserializeblockheader) | [sha256HashOfBinaryFile](#function-sha256hashofbinaryfile) |
4623
- | [WocHeadersBulkListener_test](#function-wocheadersbulklistener_test) | [deserializeBlockHeaders](#function-deserializeblockheaders) | [subWork](#function-subwork) |
4624
- | [WocHeadersLiveListener](#function-wocheaderslivelistener) | [genesisBuffer](#function-genesisbuffer) | [swapByteOrder](#function-swapbyteorder) |
4625
- | [WocHeadersLiveListener_test](#function-wocheaderslivelistener_test) | [genesisHeader](#function-genesisheader) | [toBinaryBaseBlockHeader](#function-tobinarybaseblockheader) |
4626
- | [addWork](#function-addwork) | [getBeefForTxid](#function-getbeeffortxid) | [updateChaintracksFiatExchangeRates](#function-updatechaintracksfiatexchangerates) |
4627
- | [arcDefaultUrl](#function-arcdefaulturl) | [getExchangeRatesIo](#function-getexchangeratesio) | [updateExchangeratesapi](#function-updateexchangeratesapi) |
4628
- | [arcGorillaPoolUrl](#function-arcgorillapoolurl) | [getWhatsOnChainBlockHeaderByHash](#function-getwhatsonchainblockheaderbyhash) | [validBulkHeaderFilesByFileHash](#function-validbulkheaderfilesbyfilehash) |
4629
- | [blockHash](#function-blockhash) | [isBaseBlockHeader](#function-isbaseblockheader) | [validateAgainstDirtyHashes](#function-validateagainstdirtyhashes) |
4630
- | [convertBitsToTarget](#function-convertbitstotarget) | [isBlockHeader](#function-isblockheader) | [validateBufferOfHeaders](#function-validatebufferofheaders) |
4631
- | [convertBitsToWork](#function-convertbitstowork) | [isKnownValidBulkHeaderFile](#function-isknownvalidbulkheaderfile) | [validateBulkFileData](#function-validatebulkfiledata) |
4632
- | [convertBufferToUint32](#function-convertbuffertouint32) | [isLive](#function-islive) | [validateGenesisHeader](#function-validategenesisheader) |
4633
- | [convertUint32ToBuffer](#function-convertuint32tobuffer) | [isLiveBlockHeader](#function-isliveblockheader) | [validateHeaderDifficulty](#function-validateheaderdifficulty) |
4634
- | [convertWocToBlockHeaderHex](#function-convertwoctoblockheaderhex) | [isMoreWork](#function-ismorework) | [validateHeaderFormat](#function-validateheaderformat) |
4635
- | [createDefaultKnexChaintracksOptions](#function-createdefaultknexchaintracksoptions) | [readUInt32BE](#function-readuint32be) | [validateScriptHash](#function-validatescripthash) |
4636
- | [createDefaultWalletServicesOptions](#function-createdefaultwalletservicesoptions) | [readUInt32LE](#function-readuint32le) | [wocGetHeadersHeaderToBlockHeader](#function-wocgetheadersheadertoblockheader) |
4637
- | [createNoDbChaintracksOptions](#function-createnodbchaintracksoptions) | [selectBulkHeaderFiles](#function-selectbulkheaderfiles) | [workBNtoBuffer](#function-workbntobuffer) |
4638
- | [deserializeBaseBlockHeader](#function-deserializebaseblockheader) | [serializeBaseBlockHeader](#function-serializebaseblockheader) | [writeUInt32BE](#function-writeuint32be) |
4639
- | [deserializeBaseBlockHeaders](#function-deserializebaseblockheaders) | [serializeBaseBlockHeaders](#function-serializebaseblockheaders) | [writeUInt32LE](#function-writeuint32le) |
4760
+ | [WocHeadersBulkListener](#function-wocheadersbulklistener) | [deserializeBlockHeader](#function-deserializeblockheader) | [subWork](#function-subwork) |
4761
+ | [WocHeadersBulkListener_test](#function-wocheadersbulklistener_test) | [deserializeBlockHeaders](#function-deserializeblockheaders) | [swapByteOrder](#function-swapbyteorder) |
4762
+ | [WocHeadersLiveListener](#function-wocheaderslivelistener) | [genesisBuffer](#function-genesisbuffer) | [toBinaryBaseBlockHeader](#function-tobinarybaseblockheader) |
4763
+ | [WocHeadersLiveListener_test](#function-wocheaderslivelistener_test) | [genesisHeader](#function-genesisheader) | [updateChaintracksFiatExchangeRates](#function-updatechaintracksfiatexchangerates) |
4764
+ | [addWork](#function-addwork) | [getBeefForTxid](#function-getbeeffortxid) | [updateExchangeratesapi](#function-updateexchangeratesapi) |
4765
+ | [arcDefaultUrl](#function-arcdefaulturl) | [getExchangeRatesIo](#function-getexchangeratesio) | [validBulkHeaderFilesByFileHash](#function-validbulkheaderfilesbyfilehash) |
4766
+ | [arcGorillaPoolUrl](#function-arcgorillapoolurl) | [getWhatsOnChainBlockHeaderByHash](#function-getwhatsonchainblockheaderbyhash) | [validateAgainstDirtyHashes](#function-validateagainstdirtyhashes) |
4767
+ | [blockHash](#function-blockhash) | [isBaseBlockHeader](#function-isbaseblockheader) | [validateBufferOfHeaders](#function-validatebufferofheaders) |
4768
+ | [convertBitsToTarget](#function-convertbitstotarget) | [isBlockHeader](#function-isblockheader) | [validateBulkFileData](#function-validatebulkfiledata) |
4769
+ | [convertBitsToWork](#function-convertbitstowork) | [isKnownValidBulkHeaderFile](#function-isknownvalidbulkheaderfile) | [validateGenesisHeader](#function-validategenesisheader) |
4770
+ | [convertBufferToUint32](#function-convertbuffertouint32) | [isLive](#function-islive) | [validateHeaderDifficulty](#function-validateheaderdifficulty) |
4771
+ | [convertUint32ToBuffer](#function-convertuint32tobuffer) | [isLiveBlockHeader](#function-isliveblockheader) | [validateHeaderFormat](#function-validateheaderformat) |
4772
+ | [convertWocToBlockHeaderHex](#function-convertwoctoblockheaderhex) | [isMoreWork](#function-ismorework) | [validateScriptHash](#function-validatescripthash) |
4773
+ | [createDefaultKnexChaintracksOptions](#function-createdefaultknexchaintracksoptions) | [readUInt32BE](#function-readuint32be) | [wocGetHeadersHeaderToBlockHeader](#function-wocgetheadersheadertoblockheader) |
4774
+ | [createDefaultWalletServicesOptions](#function-createdefaultwalletservicesoptions) | [readUInt32LE](#function-readuint32le) | [workBNtoBuffer](#function-workbntobuffer) |
4775
+ | [createIdbChaintracks](#function-createidbchaintracks) | [selectBulkHeaderFiles](#function-selectbulkheaderfiles) | [writeUInt32BE](#function-writeuint32be) |
4776
+ | [createNoDbChaintracksOptions](#function-createnodbchaintracksoptions) | [serializeBaseBlockHeader](#function-serializebaseblockheader) | [writeUInt32LE](#function-writeuint32le) |
4777
+ | [deserializeBaseBlockHeader](#function-deserializebaseblockheader) | [serializeBaseBlockHeaders](#function-serializebaseblockheaders) | |
4778
+ | [deserializeBaseBlockHeaders](#function-deserializebaseblockheaders) | [sha256HashOfBinaryFile](#function-sha256hashofbinaryfile) | |
4640
4779
 
4641
4780
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
4642
4781
 
@@ -4928,6 +5067,23 @@ See also: [Chain](./client.md#type-chain), [ChaintracksClientApi](./services.md#
4928
5067
 
4929
5068
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
4930
5069
 
5070
+ ---
5071
+ ##### Function: createIdbChaintracks
5072
+
5073
+ ```ts
5074
+ export async function createIdbChaintracks(chain: Chain, whatsonchainApiKey: string, maxPerFile: number = 100000, maxRetained: number = 2, fetch?: ChaintracksFetchApi, cdnUrl: string = "https://cdn.projectbabbage.com/blockheaders/", liveHeightThreshold: number = 2000, reorgHeightThreshold: number = 400, bulkMigrationChunkSize: number = 500, batchInsertLimit: number = 400, addLiveRecursionLimit: number = 36): Promise<{
5075
+ chain: Chain;
5076
+ maxPerFile: number;
5077
+ fetch: ChaintracksFetchApi;
5078
+ storage: ChaintracksStorageIdb;
5079
+ chaintracks: Chaintracks;
5080
+ }>
5081
+ ```
5082
+
5083
+ See also: [Chain](./client.md#type-chain), [Chaintracks](./services.md#class-chaintracks), [ChaintracksFetchApi](./services.md#interface-chaintracksfetchapi), [ChaintracksStorageIdb](./services.md#class-chaintracksstorageidb)
5084
+
5085
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5086
+
4931
5087
  ---
4932
5088
  ##### Function: createNoDbChaintracksOptions
4933
5089
 
@@ -5894,10 +6050,10 @@ validBulkHeaderFiles: BulkHeaderFileInfo[] = [
5894
6050
  fileName: "testNet_16.headers",
5895
6051
  firstHeight: 1600000,
5896
6052
  prevHash: "00000000000005504bfd1a3ce4688c30c86740390102b6cd464a2fb5e0e3fed1",
5897
- count: 77821,
5898
- lastHash: "0000000065ef364929e71688b29320c5835fabd8a1c0b6d42b6726cb4afcc798",
5899
- fileHash: "AK1FlgOaPVFOeG2x+Tp7htOt15UaSpHXZjgx3F263x8=",
5900
- lastChainWork: "00000000000000000000000000000000000000000000015814b641eb5d72e2ef",
6053
+ count: 89594,
6054
+ lastHash: "0000000035ba2558f604ff73909944235b8094f07c0efa9c91f59b62b4920516",
6055
+ fileHash: "jw+ItRm5zjngLuuClRZONclYWCC66wPovV3XPF585KU=",
6056
+ lastChainWork: "00000000000000000000000000000000000000000000015814b79f747a43902a",
5901
6057
  prevChainWork: "000000000000000000000000000000000000000000000156c3b84396da4e60b9",
5902
6058
  chain: "test",
5903
6059
  validated: true
@@ -6016,7 +6172,8 @@ validBulkHeaderFiles: BulkHeaderFileInfo[] = [
6016
6172
  lastHash: "00000000000000000e7dcc27c06ee353bd37260b2e7e664314c204f0324a5087",
6017
6173
  prevChainWork: "000000000000000000000000000000000000000001483b2995af390c20b58320",
6018
6174
  prevHash: "00000000000000000b6ae23bbe9f549844c20943d8c20b8ceedbae8aa1dde8e0",
6019
- sourceUrl: "https://cdn.projectbabbage.com/blockheaders"
6175
+ sourceUrl: "https://cdn.projectbabbage.com/blockheaders",
6176
+ validated: true
6020
6177
  },
6021
6178
  {
6022
6179
  chain: "main",
@@ -6028,7 +6185,21 @@ validBulkHeaderFiles: BulkHeaderFileInfo[] = [
6028
6185
  lastHash: "00000000000000000c119d65afcc66b640e98b839414c7e66d22b428ecb24a43",
6029
6186
  prevChainWork: "000000000000000000000000000000000000000001664db1f2d50327928007e0",
6030
6187
  prevHash: "00000000000000000e7dcc27c06ee353bd37260b2e7e664314c204f0324a5087",
6031
- sourceUrl: "https://cdn.projectbabbage.com/blockheaders"
6188
+ sourceUrl: "https://cdn.projectbabbage.com/blockheaders",
6189
+ validated: true
6190
+ },
6191
+ {
6192
+ chain: "main",
6193
+ count: 10376,
6194
+ fileHash: "0CXeFvl+RHRb9kRKp6032vKCVnbs2K9A3Aa4cxg7iJU=",
6195
+ fileName: "mainNet_9.headers",
6196
+ firstHeight: 900000,
6197
+ lastChainWork: "000000000000000000000000000000000000000001683907cdf89f89a1258f08",
6198
+ lastHash: "00000000000000000413b1b30aa83898de436af0906bb178904900069ec26337",
6199
+ prevChainWork: "000000000000000000000000000000000000000001664db1f2d50327928007e0",
6200
+ prevHash: "00000000000000000e7dcc27c06ee353bd37260b2e7e664314c204f0324a5087",
6201
+ sourceUrl: "https://cdn.projectbabbage.com/blockheaders",
6202
+ validated: true
6032
6203
  }
6033
6204
  ]
6034
6205
  ```