@bsv/wallet-toolbox 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.
Files changed (104) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +22 -3
  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/sdk/WalletServices.interfaces.d.ts +8 -0
  10. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
  11. package/out/src/services/Services.d.ts.map +1 -1
  12. package/out/src/services/Services.js +3 -1
  13. package/out/src/services/Services.js.map +1 -1
  14. package/out/src/services/chaintracker/LocalChainTracker.d.ts +96 -0
  15. package/out/src/services/chaintracker/LocalChainTracker.d.ts.map +1 -0
  16. package/out/src/services/chaintracker/LocalChainTracker.js +295 -0
  17. package/out/src/services/chaintracker/LocalChainTracker.js.map +1 -0
  18. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.d.ts +48 -0
  19. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.d.ts.map +1 -0
  20. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.js +3 -0
  21. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.js.map +1 -0
  22. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.d.ts +70 -0
  23. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.d.ts.map +1 -0
  24. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.js +21 -0
  25. package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.js.map +1 -0
  26. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +46 -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 +7 -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 +9 -3
  31. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  32. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +48 -6
  33. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  34. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
  35. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +1 -1
  36. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  37. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
  38. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +5 -4
  39. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  40. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts +8 -0
  41. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts.map +1 -1
  42. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +4 -1
  43. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +1 -1
  44. package/out/src/services/chaintracker/chaintracks/index.all.d.ts +3 -0
  45. package/out/src/services/chaintracker/chaintracks/index.all.d.ts.map +1 -1
  46. package/out/src/services/chaintracker/chaintracks/index.all.js +3 -0
  47. package/out/src/services/chaintracker/chaintracks/index.all.js.map +1 -1
  48. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +5 -0
  49. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +1 -1
  50. package/out/src/services/chaintracker/chaintracks/index.mobile.js +5 -0
  51. package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +1 -1
  52. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts +33 -0
  53. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts.map +1 -0
  54. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js +204 -0
  55. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js.map +1 -0
  56. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +39 -0
  57. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
  58. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +248 -85
  59. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  60. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts +32 -0
  61. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts.map +1 -0
  62. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js +30 -0
  63. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js.map +1 -0
  64. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +2 -1
  65. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
  66. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +2 -2
  67. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  68. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +31 -4
  69. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
  70. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +124 -46
  71. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  72. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts +39 -0
  73. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts.map +1 -0
  74. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js +194 -0
  75. package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js.map +1 -0
  76. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.d.ts +30 -0
  77. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.d.ts.map +1 -0
  78. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.js +57 -0
  79. package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.js.map +1 -0
  80. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts +12 -0
  81. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts.map +1 -0
  82. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js +52 -0
  83. package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js.map +1 -0
  84. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts +40 -0
  85. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts.map +1 -0
  86. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js +207 -0
  87. package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js.map +1 -0
  88. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +11 -3
  89. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  90. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +51 -12
  91. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  92. package/out/src/services/chaintracker/index.all.d.ts +1 -0
  93. package/out/src/services/chaintracker/index.all.d.ts.map +1 -1
  94. package/out/src/services/chaintracker/index.all.js +1 -0
  95. package/out/src/services/chaintracker/index.all.js.map +1 -1
  96. package/out/src/services/chaintracker/index.client.d.ts +1 -0
  97. package/out/src/services/chaintracker/index.client.d.ts.map +1 -1
  98. package/out/src/services/chaintracker/index.client.js +1 -0
  99. package/out/src/services/chaintracker/index.client.js.map +1 -1
  100. package/out/src/services/chaintracker/index.mobile.d.ts +1 -0
  101. package/out/src/services/chaintracker/index.mobile.d.ts.map +1 -1
  102. package/out/src/services/chaintracker/index.mobile.js +1 -0
  103. package/out/src/services/chaintracker/index.mobile.js.map +1 -1
  104. package/package.json +2 -2
@@ -77,14 +77,22 @@ export declare function deserializeBaseBlockHeaders(buffer: number[] | Uint8Arra
77
77
  export declare function deserializeBlockHeaders(firstHeight: number, buffer: number[] | Uint8Array, offset?: number, count?: number | undefined): BlockHeader[];
78
78
  export declare function validateHeaderFormat(header: BlockHeader): void;
79
79
  /**
80
- * Ensures that a header has a valid proof-of-work
81
- * Requires chain is 'main'
80
+ * Ensures that a header has a valid proof-of-work target and hash.
82
81
  *
83
82
  * @param header The header to validate
84
83
  *
85
84
  * @returns true if the header is valid
86
85
  */
87
- export declare function validateHeaderDifficulty(hash: Buffer, bits: number): boolean;
86
+ export declare function validateHeaderDifficulty(hash: number[] | Uint8Array, bits: number): boolean;
87
+ /**
88
+ * Ensures that a structured header's computed hash satisfies its declared
89
+ * proof-of-work target.
90
+ *
91
+ * @param header Header whose format and hash have already been checked.
92
+ * @returns true if the header has valid proof-of-work.
93
+ * @publicbody
94
+ */
95
+ export declare function validateHeaderProofOfWork(header: BlockHeader): true;
88
96
  /**
89
97
  * Computes double sha256 hash of bitcoin block header
90
98
  * bytes are reversed to bigendian order
@@ -1 +1 @@
1
- {"version":3,"file":"blockHeaderUtilities.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/util/blockHeaderUtilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockHeaderUtilities.d.ts","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/util/blockHeaderUtilities.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ exports.deserializeBaseBlockHeaders = deserializeBaseBlockHeaders;
14
14
  exports.deserializeBlockHeaders = deserializeBlockHeaders;
15
15
  exports.validateHeaderFormat = validateHeaderFormat;
16
16
  exports.validateHeaderDifficulty = validateHeaderDifficulty;
17
+ exports.validateHeaderProofOfWork = validateHeaderProofOfWork;
17
18
  exports.blockHash = blockHash;
18
19
  exports.serializeBaseBlockHeader = serializeBaseBlockHeader;
19
20
  exports.serializeBaseBlockHeaders = serializeBaseBlockHeaders;
@@ -32,7 +33,6 @@ const dirtyHashes_1 = require("./dirtyHashes");
32
33
  const sdk_1 = require("@bsv/sdk");
33
34
  const utilityHelpers_noBuffer_1 = require("../../../../utility/utilityHelpers.noBuffer");
34
35
  const utilityHelpers_1 = require("../../../../utility/utilityHelpers");
35
- const validBulkHeaderFilesByFileHash_1 = require("./validBulkHeaderFilesByFileHash");
36
36
  const WERR_errors_1 = require("../../../../sdk/WERR_errors");
37
37
  /**
38
38
  * Computes sha256 hash of file contents read as bytes with no encoding.
@@ -59,7 +59,7 @@ async function validateBulkFileData(bf, prevHash, prevChainWork, fetch) {
59
59
  const vbf = { ...bf };
60
60
  if (vbf.data == null && vbf.sourceUrl && fetch != null) {
61
61
  const url = fetch.pathJoin(vbf.sourceUrl, vbf.fileName);
62
- vbf.data = await fetch.download(url);
62
+ vbf.data = await fetch.download(url, vbf.count * 80);
63
63
  }
64
64
  if (vbf.data == null)
65
65
  throw new WERR_errors_1.WERR_INVALID_OPERATION(`bulk file ${vbf.fileName} data is unavailable`);
@@ -73,13 +73,11 @@ async function validateBulkFileData(bf, prevHash, prevChainWork, fetch) {
73
73
  if (bf.fileHash && bf.fileHash !== vbf.fileHash) {
74
74
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('bf.fileHash', `expected ${bf.fileHash} but got ${vbf.fileHash}`);
75
75
  }
76
- if (!(0, validBulkHeaderFilesByFileHash_1.isKnownValidBulkHeaderFile)(vbf)) {
77
- const { lastHeaderHash, lastChainWork } = validateBufferOfHeaders(vbf.data, prevHash, 0, undefined, prevChainWork);
78
- vbf.lastHash = lastHeaderHash;
79
- vbf.lastChainWork = lastChainWork;
80
- if (vbf.firstHeight === 0) {
81
- validateGenesisHeader(vbf.data, vbf.chain);
82
- }
76
+ const { lastHeaderHash, lastChainWork } = validateBufferOfHeaders(vbf.data, prevHash, 0, undefined, prevChainWork);
77
+ vbf.lastHash = lastHeaderHash;
78
+ vbf.lastChainWork = lastChainWork;
79
+ if (vbf.firstHeight === 0) {
80
+ validateGenesisHeader(vbf.data, vbf.chain);
83
81
  }
84
82
  vbf.validated = true;
85
83
  return vbf;
@@ -113,6 +111,7 @@ function validateBufferOfHeaders(buffer, previousHash, offset = 0, count = -1, p
113
111
  }
114
112
  lastHeaderHash = (0, utilityHelpers_noBuffer_1.asString)((0, utilityHelpers_1.doubleSha256BE)(header));
115
113
  (0, dirtyHashes_1.validateAgainstDirtyHashes)(lastHeaderHash);
114
+ validateConsensusProofOfWork(lastHeaderHash, h.bits);
116
115
  if (lastChainWork) {
117
116
  lastChainWork = addWork(lastChainWork, convertBitsToWork(h.bits));
118
117
  }
@@ -310,8 +309,7 @@ function validateHeaderFormat(header) {
310
309
  }
311
310
  }
312
311
  /**
313
- * Ensures that a header has a valid proof-of-work
314
- * Requires chain is 'main'
312
+ * Ensures that a header has a valid proof-of-work target and hash.
315
313
  *
316
314
  * @param header The header to validate
317
315
  *
@@ -319,11 +317,52 @@ function validateHeaderFormat(header) {
319
317
  */
320
318
  function validateHeaderDifficulty(hash, bits) {
321
319
  const hashBN = new sdk_1.BigNumber((0, utilityHelpers_noBuffer_1.asArray)(hash));
322
- const target = convertBitsToTarget(bits);
320
+ const target = validateCompactTarget(bits);
323
321
  if (hashBN.lte(target))
324
322
  return true;
325
323
  throw new Error('Block hash is not less than specified target.');
326
324
  }
325
+ const proofOfWorkExceptions = new Map([
326
+ // The historical STN genesis header is a network-defined bootstrap
327
+ // checkpoint whose hash does not satisfy its encoded target. No later
328
+ // header receives this exception.
329
+ ['6b38bdbcd73a19f7889d23e1fa6166a9de71affceca60ca3bb1b28af8135c594', 0x1d00ffff]
330
+ ]);
331
+ function validateConsensusProofOfWork(hash, bits) {
332
+ if (proofOfWorkExceptions.get(hash) === bits)
333
+ return;
334
+ validateHeaderDifficulty((0, utilityHelpers_noBuffer_1.asArray)(hash, 'hex'), bits);
335
+ }
336
+ function validateCompactTarget(bits) {
337
+ if (!Number.isSafeInteger(bits) || bits < 0 || bits > 0xffffffff) {
338
+ throw new Error('Block target encoding is invalid.');
339
+ }
340
+ const size = bits >>> 24;
341
+ const word = bits & 0x007fffff;
342
+ const negative = word !== 0 && (bits & 0x00800000) !== 0;
343
+ const overflow = word !== 0 && (size > 34 || (word > 0xff && size > 33) || (word > 0xffff && size > 32));
344
+ if (word === 0 || negative || overflow) {
345
+ throw new Error('Block target encoding is invalid.');
346
+ }
347
+ const target = convertBitsToTarget(bits);
348
+ const proofOfWorkLimit = convertBitsToTarget(0x1d00ffff);
349
+ if (target.gt(proofOfWorkLimit)) {
350
+ throw new Error('Block target exceeds the proof-of-work limit.');
351
+ }
352
+ return target;
353
+ }
354
+ /**
355
+ * Ensures that a structured header's computed hash satisfies its declared
356
+ * proof-of-work target.
357
+ *
358
+ * @param header Header whose format and hash have already been checked.
359
+ * @returns true if the header has valid proof-of-work.
360
+ * @publicbody
361
+ */
362
+ function validateHeaderProofOfWork(header) {
363
+ validateConsensusProofOfWork(header.hash, header.bits);
364
+ return true;
365
+ }
327
366
  /**
328
367
  * Computes double sha256 hash of bitcoin block header
329
368
  * bytes are reversed to bigendian order
@@ -1 +1 @@
1
- {"version":3,"file":"blockHeaderUtilities.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/util/blockHeaderUtilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockHeaderUtilities.js","sourceRoot":"","sources":["../../../../../../src/services/chaintracker/chaintracks/util/blockHeaderUtilities.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export * from './chaintracks/index.all';
2
2
  export * from './ChaintracksChainTracker';
3
+ export * from './LocalChainTracker';
3
4
  export * from './BHServiceClient';
4
5
  //# sourceMappingURL=index.all.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.all.d.ts","sourceRoot":"","sources":["../../../../src/services/chaintracker/index.all.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AAEvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.all.d.ts","sourceRoot":"","sources":["../../../../src/services/chaintracker/index.all.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AAEvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA"}
@@ -16,5 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./chaintracks/index.all"), exports);
18
18
  __exportStar(require("./ChaintracksChainTracker"), exports);
19
+ __exportStar(require("./LocalChainTracker"), exports);
19
20
  __exportStar(require("./BHServiceClient"), exports);
20
21
  //# sourceMappingURL=index.all.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.all.js","sourceRoot":"","sources":["../../../../src/services/chaintracker/index.all.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AAEvC,4DAAyC;AACzC,oDAAiC"}
1
+ {"version":3,"file":"index.all.js","sourceRoot":"","sources":["../../../../src/services/chaintracker/index.all.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AAEvC,4DAAyC;AACzC,sDAAmC;AACnC,oDAAiC"}
@@ -1,4 +1,5 @@
1
1
  export * from './chaintracks/index.client';
2
2
  export * from './ChaintracksChainTracker';
3
+ export * from './LocalChainTracker';
3
4
  export * from './BHServiceClient';
4
5
  //# sourceMappingURL=index.client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../../src/services/chaintracker/index.client.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAE1C,cAAc,2BAA2B,CAAA;AACzC,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../../src/services/chaintracker/index.client.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAE1C,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA"}
@@ -16,5 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./chaintracks/index.client"), exports);
18
18
  __exportStar(require("./ChaintracksChainTracker"), exports);
19
+ __exportStar(require("./LocalChainTracker"), exports);
19
20
  __exportStar(require("./BHServiceClient"), exports);
20
21
  //# sourceMappingURL=index.client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.js","sourceRoot":"","sources":["../../../../src/services/chaintracker/index.client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA0C;AAE1C,4DAAyC;AACzC,oDAAiC"}
1
+ {"version":3,"file":"index.client.js","sourceRoot":"","sources":["../../../../src/services/chaintracker/index.client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA0C;AAE1C,4DAAyC;AACzC,sDAAmC;AACnC,oDAAiC"}
@@ -1,4 +1,5 @@
1
1
  export * from './chaintracks/index.mobile';
2
2
  export * from './ChaintracksChainTracker';
3
+ export * from './LocalChainTracker';
3
4
  export * from './BHServiceClient';
4
5
  //# sourceMappingURL=index.mobile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mobile.d.ts","sourceRoot":"","sources":["../../../../src/services/chaintracker/index.mobile.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAE1C,cAAc,2BAA2B,CAAA;AACzC,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.mobile.d.ts","sourceRoot":"","sources":["../../../../src/services/chaintracker/index.mobile.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAE1C,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA"}
@@ -16,5 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./chaintracks/index.mobile"), exports);
18
18
  __exportStar(require("./ChaintracksChainTracker"), exports);
19
+ __exportStar(require("./LocalChainTracker"), exports);
19
20
  __exportStar(require("./BHServiceClient"), exports);
20
21
  //# sourceMappingURL=index.mobile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mobile.js","sourceRoot":"","sources":["../../../../src/services/chaintracker/index.mobile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA0C;AAE1C,4DAAyC;AACzC,oDAAiC"}
1
+ {"version":3,"file":"index.mobile.js","sourceRoot":"","sources":["../../../../src/services/chaintracker/index.mobile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA0C;AAE1C,4DAAyC;AACzC,sDAAmC;AACnC,oDAAiC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bsv/wallet-toolbox",
3
- "version": "2.7.1",
3
+ "version": "2.9.0",
4
4
  "sideEffects": false,
5
5
  "type": "commonjs",
6
6
  "engines": {
@@ -114,7 +114,7 @@
114
114
  "format:check": "pnpm --workspace-root exec prettier --check \"packages/wallet/wallet-toolbox/{README.md,jest.config.cjs,package.json,tsconfig*.json}\"",
115
115
  "lint": "oxlint src test benchmarks examples operator --deny-warnings",
116
116
  "lint:ci": "pnpm lint",
117
- "pack:check": "pnpm build && node ../../../scripts/check-package-artifact.mjs . --modes cjs --exports Wallet,WalletSigner,WalletStorageManager,StorageClient,StorageKnex,Services,Setup,WalletPermissionsManager,WalletSettingsManager,sdk --entry-exports \"./out/src/sdk=WalletError|WERR_BAD_REQUEST|WERR_INTERNAL|WERR_INVALID_PARAMETER|WERR_UNAUTHORIZED\"",
117
+ "pack:check": "pnpm build && node ../../../scripts/check-package-artifact.mjs . --modes cjs --exports Wallet,WalletSigner,WalletStorageManager,StorageClient,StorageKnex,Services,Setup,WalletPermissionsManager,WalletSettingsManager,LocalChainTracker,FixedWindowBulkFileDownloadBudget,DurableFileBulkFileDownloadBudget,BulkFileDataCacheFs,NodeBulkFileDataValidator,sdk --entry-exports \"./out/src/sdk=WalletError|WERR_BAD_REQUEST|WERR_INTERNAL|WERR_INVALID_PARAMETER|WERR_UNAUTHORIZED\"",
118
118
  "typecheck": "tsc --build --pretty false && tsc --project examples/tsconfig.json --pretty false && tsc --project operator/tsconfig.json --noEmit --pretty false",
119
119
  "build": "tsc --build",
120
120
  "doc": "ts2md",