@bsv/wallet-toolbox 2.7.0 → 2.8.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.
Files changed (91) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +23 -8
  3. package/docs/README.md +24 -23
  4. package/docs/local-first-chaintracks.md +129 -0
  5. package/out/src/index.mobile.d.ts +1 -0
  6. package/out/src/index.mobile.d.ts.map +1 -1
  7. package/out/src/index.mobile.js +1 -0
  8. package/out/src/index.mobile.js.map +1 -1
  9. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.d.ts +2 -0
  10. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.d.ts.map +1 -1
  11. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js +66 -11
  12. package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js.map +1 -1
  13. package/out/src/sdk/WalletServices.interfaces.d.ts +8 -0
  14. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  15. package/out/src/services/Services.d.ts.map +1 -1
  16. package/out/src/services/Services.js +3 -1
  17. package/out/src/services/Services.js.map +1 -1
  18. package/out/src/services/chaintracker/LocalChainTracker.d.ts +96 -0
  19. package/out/src/services/chaintracker/LocalChainTracker.d.ts.map +1 -0
  20. package/out/src/services/chaintracker/LocalChainTracker.js +295 -0
  21. package/out/src/services/chaintracker/LocalChainTracker.js.map +1 -0
  22. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.d.ts +26 -0
  23. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.d.ts.map +1 -0
  24. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.js +3 -0
  25. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.js.map +1 -0
  26. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +13 -0
  27. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -1
  28. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +2 -2
  29. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +1 -1
  30. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  31. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +3 -1
  32. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  33. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
  34. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +1 -1
  35. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  36. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
  37. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +5 -4
  38. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  39. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts +5 -0
  40. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts.map +1 -1
  41. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +3 -1
  42. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +1 -1
  43. package/out/src/services/chaintracker/chaintracks/index.all.d.ts +1 -0
  44. package/out/src/services/chaintracker/chaintracks/index.all.d.ts.map +1 -1
  45. package/out/src/services/chaintracker/chaintracks/index.all.js +1 -0
  46. package/out/src/services/chaintracker/chaintracks/index.all.js.map +1 -1
  47. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +3 -0
  48. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +1 -1
  49. package/out/src/services/chaintracker/chaintracks/index.mobile.js +3 -0
  50. package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +1 -1
  51. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts +20 -0
  52. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts.map +1 -0
  53. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js +102 -0
  54. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js.map +1 -0
  55. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +23 -0
  56. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  57. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +117 -41
  58. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  59. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +2 -1
  60. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
  61. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +2 -2
  62. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  63. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +30 -3
  64. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
  65. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +122 -46
  66. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  67. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.d.ts +29 -0
  68. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.d.ts.map +1 -0
  69. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.js +56 -0
  70. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.js.map +1 -0
  71. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +11 -3
  72. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  73. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +51 -12
  74. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  75. package/out/src/services/chaintracker/index.all.d.ts +1 -0
  76. package/out/src/services/chaintracker/index.all.d.ts.map +1 -1
  77. package/out/src/services/chaintracker/index.all.js +1 -0
  78. package/out/src/services/chaintracker/index.all.js.map +1 -1
  79. package/out/src/services/chaintracker/index.client.d.ts +1 -0
  80. package/out/src/services/chaintracker/index.client.d.ts.map +1 -1
  81. package/out/src/services/chaintracker/index.client.js +1 -0
  82. package/out/src/services/chaintracker/index.client.js.map +1 -1
  83. package/out/src/services/chaintracker/index.mobile.d.ts +1 -0
  84. package/out/src/services/chaintracker/index.mobile.d.ts.map +1 -1
  85. package/out/src/services/chaintracker/index.mobile.js +1 -0
  86. package/out/src/services/chaintracker/index.mobile.js.map +1 -1
  87. package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts +6 -0
  88. package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts.map +1 -1
  89. package/out/src/storage/methods/reconcileFailedTransactionInputs.js +28 -10
  90. package/out/src/storage/methods/reconcileFailedTransactionInputs.js.map +1 -1
  91. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BulkFileDataCacheFs.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAwC;AACxC,6CAAwC;AACxC,MAAY,IAAI,sCAAiB;AAIjC;;;;;;;;GAQG;AACH;IAC+B,UAAU;IAAvC,YAA6B,UAAkB;0BAAlB,UAAU;IAAW,CAAC;IAE3C,QAAQ,CAAC,IAAkC;QACjD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtG,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC1E,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IAClD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAkC;QAC1C,IAAI,CAAC;YACH,OAAO,IAAI,UAAU,CAAC,MAAM,kBAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAA;YACxE,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAkC,EAAE,IAAgB;QAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACvC,MAAM,kBAAE,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,IAAI,IAAA,wBAAU,GAAE,MAAM,CAAC,CAAA;QACpG,IAAI,MAAiC,CAAA;QACrC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,kBAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YAC9C,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC5B,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACnB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YACpB,MAAM,GAAG,SAAS,CAAA;YAClB,MAAM,kBAAE,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;QACzC,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;YAC5C,MAAM,kBAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACvC,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;oBAAE,MAAM,KAAK,CAAA;YACrE,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAkC;QAC7C,IAAI,CAAC;YACH,MAAM,kBAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAA;QACrE,CAAC;IACH,CAAC;CACF"}
@@ -5,12 +5,28 @@ import { BulkHeaderFileInfo } from './BulkHeaderFile';
5
5
  import { HeightRange } from './HeightRange';
6
6
  import { ChaintracksStorageBulkFileApi } from '../Api/ChaintracksStorageApi';
7
7
  import { ChaintracksFsApi } from '../Api/ChaintracksFsApi';
8
+ import type { BulkFileDataCacheApi, BulkFileDownloadBudgetApi } from '../Api/BulkFileDataCacheApi';
8
9
  export interface BulkFileDataManagerOptions {
9
10
  chain: Chain;
10
11
  maxPerFile: number;
11
12
  maxRetained?: number;
12
13
  fetch?: ChaintracksFetchApi;
13
14
  fromKnownSourceUrl?: string;
15
+ /** Persistent cache consulted before any remote bulk-file download. */
16
+ cache?: BulkFileDataCacheApi;
17
+ /** Optional process-local or shared reservation budget for remote bytes. */
18
+ downloadBudget?: BulkFileDownloadBudgetApi;
19
+ }
20
+ /** @public */
21
+ export interface BulkFileDataManagerStats {
22
+ memoryHits: number;
23
+ storageHits: number;
24
+ persistentCacheHits: number;
25
+ persistentCacheMisses: number;
26
+ persistentCacheRejects: number;
27
+ coalescedLoads: number;
28
+ downloads: number;
29
+ downloadedBytes: number;
14
30
  }
15
31
  /**
16
32
  * Manages bulk file data (typically 8MB chunks of 100,000 headers each).
@@ -27,13 +43,18 @@ export declare class BulkFileDataManager {
27
43
  private bfds;
28
44
  private fileHashToIndex;
29
45
  private readonly lock;
46
+ private readonly inFlightLoads;
30
47
  private storage?;
48
+ private readonly stats;
31
49
  readonly chain: Chain;
32
50
  readonly maxPerFile: number;
33
51
  readonly fetch?: ChaintracksFetchApi;
34
52
  readonly maxRetained?: number;
35
53
  readonly fromKnownSourceUrl?: string;
54
+ readonly cache?: BulkFileDataCacheApi;
55
+ readonly downloadBudget?: BulkFileDownloadBudgetApi;
36
56
  constructor(options: BulkFileDataManagerOptions | Chain);
57
+ getStats(): BulkFileDataManagerStats;
37
58
  deleteBulkFiles(): Promise<void>;
38
59
  private deleteBulkFilesNoLock;
39
60
  /**
@@ -126,6 +147,8 @@ export declare class BulkFileDataManager {
126
147
  * @returns
127
148
  */
128
149
  private ensureData;
150
+ private loadAndValidateData;
151
+ private validateRetrievedData;
129
152
  private ensureMaxRetained;
130
153
  exportHeadersToFs(toFs: ChaintracksFsApi, toHeadersPerFile: number, toFolder: string, sourceUrl?: string, maxHeight?: number): Promise<void>;
131
154
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BulkFileDataManager.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/util/BulkFileDataManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAiE,MAAM,iBAAiB,CAAA;AAGnH,OAAO,EAAE,kBAAkB,EAAuB,MAAM,kBAAkB,CAAA;AAE1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAU3C,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAA;AAE5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAG1D,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,mBAAmB,CAAA;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED;;;;;;;;GAQG;AACH,qBAAa,mBAAmB;IAC9B,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,0BAA0B,CAQpE;IAED,OAAO,CAAC,GAAG,CAAqC;IAEhD,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiE;IACtF,OAAO,CAAC,OAAO,CAAC,CAA+B;IAE/C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,mBAAmB,CAAA;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAEpC,YAAY,OAAO,EAAE,0BAA0B,GAAG,KAAK,EAStD;IAEK,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAErC;IAED,OAAO,CAAC,qBAAqB;IAc7B;;;;;;OAMG;IACG,UAAU,CAAC,OAAO,EAAE,6BAA6B,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAErG;YAEa,gBAAgB;IAiC9B,yBAAyB,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG;QACtD,GAAG,EAAE,WAAW,CAAA;QAChB,GAAG,EAAE,WAAW,CAAA;QAChB,WAAW,EAAE,WAAW,CAAA;KACzB,CASA;IAEK,YAAY,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAI3F;IAEK,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCjD;IAEK,KAAK,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAEhF;YAEa,WAAW;YA+BX,gBAAgB;IAoB9B,WAAW,CAAC,IAAI,CAAC,EAAE,8BAA8B,GAAG,YAAY,EAAE,GAAG,kBAAkB,EAAE,GAAG,MAAM,CA2BjG;IAEK,4BAA4B,CAAC,cAAc,EAAE,WAAW,EAAE,EAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8C9G;IAEK,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAIpE;IAEK,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAO3C;IAEK,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CASjH;YAEa,qBAAqB;IAwB7B,8BAA8B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAarF;IAEK,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAM9E;IAED,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,UAAU;IAMZ,WAAW,CAAC,OAAO,SAAI,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAEtE;IAED,OAAO,CAAC,iBAAiB;YAMX,iBAAiB;YAUjB,eAAe;YASf,gBAAgB;YAuBhB,eAAe;IAoB7B,OAAO,CAAC,kBAAkB;IAoBpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAEhC;YAEa,gBAAgB;IAU9B,OAAO,CAAC,iBAAiB;YAeX,GAAG;IAajB,OAAO,CAAC,iBAAiB;IAOzB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;YACW,MAAM;YAuBN,iBAAiB;YAcjB,qBAAqB;YA4BrB,4BAA4B;YA6B5B,aAAa;IAoB3B,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,gBAAgB;IASxB;;;;;;;;OAQG;YACW,SAAS;IAgCvB;;;;OAIG;YACW,UAAU;IAoCxB,OAAO,CAAC,iBAAiB;IAcnB,iBAAiB,CACrB,IAAI,EAAE,gBAAgB,EACtB,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAqDf;CACF;AAED,UAAU,YAAa,SAAQ,kBAAkB;IAC/C,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,kBAAkB,EAAE,EAC3B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,MAAM,GACjB,kBAAkB,EAAE,CAYtB;AA4BD,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,kBAAkB,EAAE,CAAA;IAC/B,QAAQ,EAAE,kBAAkB,EAAE,CAAA;IAC9B,OAAO,EAAE,kBAAkB,EAAE,CAAA;IAC7B,OAAO,EAAE,kBAAkB,EAAE,CAAA;CAC9B;AAiDD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"BulkFileDataManager.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/util/BulkFileDataManager.ts"],"names":[],"mappings":"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"}
@@ -34,12 +34,25 @@ class BulkFileDataManager {
34
34
  bfds = [];
35
35
  fileHashToIndex = {};
36
36
  lock = new SingleWriterMultiReaderLock_1.SingleWriterMultiReaderLock();
37
+ inFlightLoads = new Map();
37
38
  storage;
39
+ stats = {
40
+ memoryHits: 0,
41
+ storageHits: 0,
42
+ persistentCacheHits: 0,
43
+ persistentCacheMisses: 0,
44
+ persistentCacheRejects: 0,
45
+ coalescedLoads: 0,
46
+ downloads: 0,
47
+ downloadedBytes: 0
48
+ };
38
49
  chain;
39
50
  maxPerFile;
40
51
  fetch;
41
52
  maxRetained;
42
53
  fromKnownSourceUrl;
54
+ cache;
55
+ downloadBudget;
43
56
  constructor(options) {
44
57
  const resolvedOptions = typeof options === 'object' ? options : BulkFileDataManager.createDefaultOptions(options);
45
58
  this.chain = resolvedOptions.chain;
@@ -47,8 +60,13 @@ class BulkFileDataManager {
47
60
  this.maxRetained = resolvedOptions.maxRetained;
48
61
  this.fromKnownSourceUrl = resolvedOptions.fromKnownSourceUrl;
49
62
  this.fetch = resolvedOptions.fetch;
63
+ this.cache = resolvedOptions.cache;
64
+ this.downloadBudget = resolvedOptions.downloadBudget;
50
65
  this.deleteBulkFilesNoLock();
51
66
  }
67
+ getStats() {
68
+ return { ...this.stats };
69
+ }
52
70
  async deleteBulkFiles() {
53
71
  return await this.lock.withWriteLock(async () => this.deleteBulkFilesNoLock());
54
72
  }
@@ -60,7 +78,7 @@ class BulkFileDataManager {
60
78
  const filtered = vbhfs.filter(f => f.sourceUrl === this.fromKnownSourceUrl);
61
79
  const files = selectBulkHeaderFiles(filtered, this.chain, this.maxPerFile);
62
80
  for (const file of files) {
63
- this.add({ ...file, fileHash: file.fileHash, mru: Date.now() });
81
+ this.add({ ...file, fileHash: file.fileHash, validated: false, mru: Date.now() });
64
82
  }
65
83
  }
66
84
  }
@@ -171,12 +189,18 @@ class BulkFileDataManager {
171
189
  const vbf = await this.validateFileInfo(file);
172
190
  if (hbf != null) {
173
191
  // We have a matching file by firstHeight but count and fileHash differ
192
+ await this.ensureData(vbf);
174
193
  await this.update(vbf, hbf, r);
175
194
  }
176
195
  else if (isBdfIncremental(vbf) && lbf != null && isBdfIncremental(lbf)) {
177
196
  await this.mergeIncremental(lbf, vbf, r);
178
197
  }
179
198
  else {
199
+ // A storage-backed record must never be created with metadata only:
200
+ // subsequent reads prefer its fileId and correctly fail closed when
201
+ // data is absent. Validate and materialize it before insertion.
202
+ if (this.storage != null)
203
+ await this.ensureData(vbf);
180
204
  const added = await this.add(vbf);
181
205
  r.inserted.push(added);
182
206
  }
@@ -299,21 +323,12 @@ class BulkFileDataManager {
299
323
  return undefined;
300
324
  length = length || bfd.count * 80 - offset;
301
325
  length = Math.min(length, fileLength - offset);
302
- let data;
303
- if (bfd.data != null) {
304
- data = bfd.data.slice(offset, offset + length);
305
- }
306
- else if (bfd.fileId && this.storage != null) {
307
- data = await this.storage.getBulkFileData(bfd.fileId, offset, length);
308
- }
309
- if (data == null) {
310
- await this.ensureData(bfd);
311
- if (bfd.data != null)
312
- data = bfd.data.slice(offset, offset + length);
313
- }
314
- if (data == null)
315
- return undefined;
316
- return data;
326
+ // Never serve a partial storage read before validating the complete
327
+ // immutable object. Metadata and advisory validation state may have crossed
328
+ // a storage boundary, and neither can establish the digest, linkage, or
329
+ // proof-of-work of an isolated 80-byte slice.
330
+ const data = await this.ensureData(bfd);
331
+ return data.slice(offset, offset + length);
317
332
  }
318
333
  async findHeaderForHeightOrUndefined(height) {
319
334
  return await this.lock.withReadLock(async () => {
@@ -392,8 +407,17 @@ class BulkFileDataManager {
392
407
  if (!file.sourceUrl && !file.fileId && file.data == null) {
393
408
  throw new sdk_1.WERR_INVALID_PARAMETER('data', 'defined when sourceUrl and fileId are undefined');
394
409
  }
395
- const bfd = { ...file, fileHash: file.fileHash, mru: Date.now() };
396
- if (!bfd.validated) {
410
+ // `validated` may have crossed a storage or network boundary. Never trust
411
+ // that flag. Data supplied with the metadata is verified immediately;
412
+ // remotely or persistently backed data remains lazy and is verified by
413
+ // `loadAndValidateData` before its first use.
414
+ const bfd = {
415
+ ...file,
416
+ fileHash: file.fileHash,
417
+ validated: false,
418
+ mru: Date.now()
419
+ };
420
+ if (bfd.data != null) {
397
421
  await this.validateBfdData(bfd, file.fileHash);
398
422
  bfd.validated = true;
399
423
  }
@@ -408,9 +432,7 @@ class BulkFileDataManager {
408
432
  if (expectedFileHash && expectedFileHash !== bfd.fileHash) {
409
433
  throw new sdk_1.WERR_INVALID_PARAMETER('file.fileHash', `expected ${expectedFileHash} but got ${bfd.fileHash}`);
410
434
  }
411
- if (!(0, validBulkHeaderFilesByFileHash_1.isKnownValidBulkHeaderFile)(bfd)) {
412
- this.validateBfdHeaders(bfd);
413
- }
435
+ this.validateBfdHeaders(bfd);
414
436
  }
415
437
  validateBfdHeaders(bfd) {
416
438
  const pbf = bfd.firstHeight > 0 ? this.getBfdForHeight(bfd.firstHeight - 1) : undefined;
@@ -653,36 +675,90 @@ class BulkFileDataManager {
653
675
  * @returns
654
676
  */
655
677
  async ensureData(bfd) {
656
- if (bfd.data != null)
678
+ if (bfd.data != null) {
679
+ this.stats.memoryHits++;
680
+ bfd.mru = Date.now();
657
681
  return bfd.data;
682
+ }
683
+ const key = `${bfd.fileHash}:${bfd.fileName}`;
684
+ const existing = this.inFlightLoads.get(key);
685
+ if (existing != null) {
686
+ this.stats.coalescedLoads++;
687
+ const data = await existing;
688
+ bfd.data = data;
689
+ bfd.mru = Date.now();
690
+ this.ensureMaxRetained();
691
+ return data;
692
+ }
693
+ const load = this.loadAndValidateData(bfd);
694
+ this.inFlightLoads.set(key, load);
695
+ try {
696
+ const data = await load;
697
+ bfd.data = data;
698
+ bfd.validated = true;
699
+ bfd.mru = Date.now();
700
+ this.ensureMaxRetained();
701
+ return data;
702
+ }
703
+ finally {
704
+ if (this.inFlightLoads.get(key) === load)
705
+ this.inFlightLoads.delete(key);
706
+ }
707
+ }
708
+ async loadAndValidateData(bfd) {
658
709
  if (this.storage != null && bfd.fileId) {
659
- bfd.data = await this.storage.getBulkFileData(bfd.fileId);
660
- if (bfd.data == null)
710
+ const stored = await this.storage.getBulkFileData(bfd.fileId);
711
+ if (stored == null) {
661
712
  throw new sdk_1.WERR_INVALID_PARAMETER('fileId', `valid, data not found for fileId ${bfd.fileId}`);
662
- }
663
- if (bfd.data == null && this.fetch != null && bfd.sourceUrl) {
664
- const url = this.fetch.pathJoin(bfd.sourceUrl, bfd.fileName);
665
- try {
666
- bfd.data = await this.fetch.download(url);
667
713
  }
668
- catch (firstAttemptErr) {
669
- // First download attempt failed (e.g. transient network error); retry once.
670
- console.debug(`BulkFileDataManager: first download attempt failed for ${url}, retrying`, firstAttemptErr);
671
- bfd.data = await this.fetch.download(url);
714
+ this.validateRetrievedData(bfd, stored);
715
+ this.stats.storageHits++;
716
+ return stored;
717
+ }
718
+ if (this.cache != null) {
719
+ const cached = await this.cache.get(bfd);
720
+ if (cached != null) {
721
+ try {
722
+ this.validateRetrievedData(bfd, cached);
723
+ this.stats.persistentCacheHits++;
724
+ return cached;
725
+ }
726
+ catch (error) {
727
+ this.stats.persistentCacheRejects++;
728
+ await this.cache.delete?.(bfd);
729
+ this.log(`Rejected corrupt bulk-header cache entry ${bfd.fileName}: ${String(error)}`);
730
+ }
672
731
  }
673
- if (!bfd.data)
732
+ else {
733
+ this.stats.persistentCacheMisses++;
734
+ }
735
+ }
736
+ if (this.fetch != null && bfd.sourceUrl) {
737
+ const expectedBytes = bfd.count * 80;
738
+ await this.downloadBudget?.consume(expectedBytes);
739
+ const url = this.fetch.pathJoin(bfd.sourceUrl, bfd.fileName);
740
+ const downloaded = await this.fetch.download(url, expectedBytes);
741
+ if (downloaded == null) {
674
742
  throw new sdk_1.WERR_INVALID_PARAMETER('sourceUrl', `data not found for sourceUrl ${url}`);
743
+ }
744
+ this.validateRetrievedData(bfd, downloaded);
745
+ this.stats.downloads++;
746
+ this.stats.downloadedBytes += downloaded.length;
747
+ await this.cache?.set(bfd, downloaded);
748
+ return downloaded;
675
749
  }
676
- if (bfd.data == null)
677
- throw new sdk_1.WERR_INVALID_PARAMETER('data', `defined. Unable to retrieve data for ${bfd.fileName}`);
678
- bfd.mru = Date.now();
679
- // Validate retrieved data.
680
- const fileHash = (0, utilityHelpers_noBuffer_1.asString)(sdk_2.Hash.sha256((0, utilityHelpers_noBuffer_1.asArray)(bfd.data)), 'base64');
750
+ throw new sdk_1.WERR_INVALID_PARAMETER('data', `defined. Unable to retrieve data for ${bfd.fileName}`);
751
+ }
752
+ validateRetrievedData(bfd, data) {
753
+ if (data.length !== bfd.count * 80) {
754
+ throw new sdk_1.WERR_INVALID_PARAMETER('file.data', `bulk file ${bfd.fileName} data length ${data.length} does not match expected count ${bfd.count}`);
755
+ }
756
+ const fileHash = (0, utilityHelpers_noBuffer_1.asString)(sdk_2.Hash.sha256((0, utilityHelpers_noBuffer_1.asArray)(data)), 'base64');
681
757
  if (fileHash !== bfd.fileHash) {
682
758
  throw new sdk_1.WERR_INVALID_PARAMETER('fileHash', `a match for retrieved data for ${bfd.fileName}`);
683
759
  }
684
- this.ensureMaxRetained();
685
- return bfd.data;
760
+ const candidate = { ...bfd, data };
761
+ this.validateBfdHeaders(candidate);
686
762
  }
687
763
  ensureMaxRetained() {
688
764
  if (this.maxRetained === undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"BulkFileDataManager.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/util/BulkFileDataManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BulkFileDataManager.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/util/BulkFileDataManager.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,8 @@ export interface BulkHeaderFileInfo {
45
45
  chain?: Chain;
46
46
  data?: Uint8Array;
47
47
  /**
48
- * true iff these properties should be considered pre-validated, including a valid required fileHash of data (when not undefined).
48
+ * Advisory process-local validation state. Never trust this value after it
49
+ * crosses a network or storage boundary; revalidate the object bytes.
49
50
  */
50
51
  validated?: boolean;
51
52
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"BulkHeaderFile.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/util/BulkHeaderFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BulkHeaderFile.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/util/BulkHeaderFile.ts"],"names":[],"mappings":"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"}
@@ -135,11 +135,11 @@ class BulkHeaderFileStorage extends BulkHeaderFile {
135
135
  async ensureData() {
136
136
  if (this.data != null)
137
137
  return this.data;
138
- if (!this.sourceUrl || (this.fetch == null)) {
138
+ if (!this.sourceUrl || this.fetch == null) {
139
139
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('sourceUrl and fetch', 'defined. Or data must be defined.');
140
140
  }
141
141
  const url = this.fetch.pathJoin(this.sourceUrl, this.fileName);
142
- this.data = await this.fetch.download(url);
142
+ this.data = await this.fetch.download(url, this.count * 80);
143
143
  if (!this.data)
144
144
  throw new WERR_errors_1.WERR_INVALID_OPERATION(`failed to download data from ${url}`);
145
145
  if (this.validated) {
@@ -1 +1 @@
1
- {"version":3,"file":"BulkHeaderFile.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/util/BulkHeaderFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BulkHeaderFile.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/util/BulkHeaderFile.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,17 @@
1
1
  import { HttpClient } from '@bsv/sdk';
2
2
  import { ChaintracksFetchApi } from '../Api/ChaintracksFetchApi';
3
+ export interface ChaintracksFetchOptions {
4
+ /** Number of retries after the initial request. Defaults to three. */
5
+ maxRetries?: number;
6
+ /** Deadline covering connection, headers, and response body. */
7
+ timeoutMsecs?: number;
8
+ /** Maximum materialized response size for binary and JSON requests. */
9
+ maxResponseBytes?: number;
10
+ retryMsecs?: number;
11
+ maxRetryMsecs?: number;
12
+ /** Testable jitter source in the inclusive range 0..1. */
13
+ random?: () => number;
14
+ }
3
15
  export declare class ChaintracksFetchError extends Error {
4
16
  readonly url: string;
5
17
  readonly status: number;
@@ -9,13 +21,28 @@ export declare class ChaintracksFetchError extends Error {
9
21
  get retryable(): boolean;
10
22
  }
11
23
  /**
12
- * This class implements the ChaintracksFetchApi
13
- * using the @bsv/sdk `defaultHttpClient`.
24
+ * Bounded fetch implementation shared by ChainTracks sources.
25
+ *
26
+ * Retry policy lives here so callers never multiply attempts. Every attempt
27
+ * has a deadline that remains active while the response body is consumed, and
28
+ * every materialized response has an explicit byte ceiling.
14
29
  */
15
30
  export declare class ChaintracksFetch implements ChaintracksFetchApi {
16
31
  httpClient: HttpClient;
17
- download(url: string): Promise<Uint8Array>;
32
+ private readonly maxRetries;
33
+ private readonly timeoutMsecs;
34
+ private readonly maxResponseBytes;
35
+ private readonly retryMsecs;
36
+ private readonly maxRetryMsecs;
37
+ private readonly random;
38
+ constructor(options?: ChaintracksFetchOptions);
39
+ download(url: string, maxResponseBytes?: number): Promise<Uint8Array>;
18
40
  fetchJson<R>(url: string): Promise<R>;
41
+ private requestBytes;
42
+ private requestAttempt;
43
+ private readResponseBytes;
44
+ private responseTooLarge;
45
+ private retryWaitMsecs;
19
46
  pathJoin(baseUrl: string, subpath: string): string;
20
47
  }
21
48
  //# sourceMappingURL=ChaintracksFetch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChaintracksFetch.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/util/ChaintracksFetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,UAAU,EAAE,MAAM,UAAU,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAMhE,qBAAa,qBAAsB,SAAQ,KAAK;aAG5B,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,MAAM;aACd,UAAU,EAAE,MAAM;aAClB,eAAe,CAAC,EAAE,MAAM;IAL1C,YACE,OAAO,EAAE,MAAM,EACC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,YAAA,EAIzC;IAED,IAAI,SAAS,IAAK,OAAO,CAExB;CACF;AAqCD;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,mBAAmB;IAC1D,UAAU,EAAE,UAAU,CAAsB;IAEtC,QAAQ,CAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAkBhD;IAEK,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAkB1C;IAED,QAAQ,CAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAOlD;CACF"}
1
+ {"version":3,"file":"ChaintracksFetch.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/util/ChaintracksFetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,UAAU,EAAE,MAAM,UAAU,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAShE,MAAM,WAAW,uBAAuB;IACtC,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,MAAM,CAAA;CACtB;AAED,qBAAa,qBAAsB,SAAQ,KAAK;aAG5B,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,MAAM;aACd,UAAU,EAAE,MAAM;aAClB,eAAe,CAAC,EAAE,MAAM;IAL1C,YACE,OAAO,EAAE,MAAM,EACC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,YAAA,EAIzC;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;CACF;AAmCD;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,mBAAmB;IAC1D,UAAU,EAAE,UAAU,CAAsB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IAErC,YAAY,OAAO,GAAE,uBAA4B,EAehD;IAEK,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAiB1E;IAEK,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAW1C;YAEa,YAAY;YA+BZ,cAAc;YAed,iBAAiB;IAwC/B,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,cAAc;IAOtB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAIjD;CACF"}