dequanto 0.2.27 → 0.2.29

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 (67) hide show
  1. package/lib/cjs/class/PackedRanges.js +422 -20
  2. package/lib/cjs/class/PackedRanges.js.map +1 -1
  3. package/lib/cjs/clients/Web3Client.js +2 -1
  4. package/lib/cjs/clients/Web3Client.js.map +1 -1
  5. package/lib/cjs/contracts/ContractReader.js +24 -1
  6. package/lib/cjs/contracts/ContractReader.js.map +1 -1
  7. package/lib/cjs/contracts/ContractWriter.js +1 -1
  8. package/lib/cjs/contracts/ContractWriter.js.map +1 -1
  9. package/lib/cjs/hardhat/HardhatProvider.js +7 -0
  10. package/lib/cjs/hardhat/HardhatProvider.js.map +1 -1
  11. package/lib/cjs/indexer/EventsIndexer.js +143 -98
  12. package/lib/cjs/indexer/EventsIndexer.js.map +1 -1
  13. package/lib/cjs/rpc/RpcContract.js +21 -13
  14. package/lib/cjs/rpc/RpcContract.js.map +1 -1
  15. package/lib/cjs/safe/GnosisSafeHandler.js +1 -1
  16. package/lib/cjs/safe/GnosisSafeHandler.js.map +1 -1
  17. package/lib/cjs/safe/transport/SafeServiceTransport.js +13 -3
  18. package/lib/cjs/safe/transport/SafeServiceTransport.js.map +1 -1
  19. package/lib/cjs/txs/TxWriter.js +5 -2
  20. package/lib/cjs/txs/TxWriter.js.map +1 -1
  21. package/lib/cjs/utils/$contract.js +7 -2
  22. package/lib/cjs/utils/$contract.js.map +1 -1
  23. package/lib/esm/class/PackedRanges.js.map +1 -1
  24. package/lib/esm/class/PackedRanges.mjs +422 -20
  25. package/lib/esm/clients/Web3Client.js.map +1 -1
  26. package/lib/esm/clients/Web3Client.mjs +2 -1
  27. package/lib/esm/contracts/ContractReader.js.map +1 -1
  28. package/lib/esm/contracts/ContractReader.mjs +24 -1
  29. package/lib/esm/contracts/ContractWriter.js.map +1 -1
  30. package/lib/esm/contracts/ContractWriter.mjs +1 -1
  31. package/lib/esm/hardhat/HardhatProvider.js.map +1 -1
  32. package/lib/esm/hardhat/HardhatProvider.mjs +7 -0
  33. package/lib/esm/indexer/EventsIndexer.js.map +1 -1
  34. package/lib/esm/indexer/EventsIndexer.mjs +143 -98
  35. package/lib/esm/rpc/RpcContract.js.map +1 -1
  36. package/lib/esm/rpc/RpcContract.mjs +21 -13
  37. package/lib/esm/safe/GnosisSafeHandler.js.map +1 -1
  38. package/lib/esm/safe/GnosisSafeHandler.mjs +1 -1
  39. package/lib/esm/safe/transport/SafeServiceTransport.js.map +1 -1
  40. package/lib/esm/safe/transport/SafeServiceTransport.mjs +13 -3
  41. package/lib/esm/txs/TxWriter.js.map +1 -1
  42. package/lib/esm/txs/TxWriter.mjs +5 -2
  43. package/lib/esm/utils/$contract.js.map +1 -1
  44. package/lib/esm/utils/$contract.mjs +7 -2
  45. package/lib/types/class/PackedRanges.d.ts +224 -0
  46. package/lib/types/clients/Web3Client.d.ts +4 -0
  47. package/lib/types/contracts/ContractReader.d.ts +1 -0
  48. package/lib/types/indexer/EventsIndexer.d.ts +5 -1
  49. package/lib/types/indexer/storage/interfaces.d.ts +1 -0
  50. package/lib/types/rpc/RpcContract.d.ts +16 -0
  51. package/lib/types/safe/GnosisSafeHandler.d.ts +1 -0
  52. package/lib/types/safe/transport/ISafeServiceTransport.d.ts +1 -0
  53. package/lib/types/utils/$contract.d.ts +1 -0
  54. package/package.json +1 -1
  55. package/src/class/PackedRanges.ts +447 -27
  56. package/src/clients/Web3Client.ts +6 -1
  57. package/src/contracts/ContractReader.ts +30 -3
  58. package/src/contracts/ContractWriter.ts +1 -1
  59. package/src/hardhat/HardhatProvider.ts +9 -0
  60. package/src/indexer/EventsIndexer.ts +173 -105
  61. package/src/indexer/storage/interfaces.ts +1 -0
  62. package/src/rpc/RpcContract.ts +34 -15
  63. package/src/safe/GnosisSafeHandler.ts +1 -1
  64. package/src/safe/transport/ISafeServiceTransport.ts +5 -1
  65. package/src/safe/transport/SafeServiceTransport.ts +15 -4
  66. package/src/txs/TxWriter.ts +6 -2
  67. package/src/utils/$contract.ts +7 -2
@@ -19,6 +19,7 @@ export class PackedRanges {
19
19
  this.ranges = opts.ranges ?? [];
20
20
  }
21
21
  }
22
+ // Get the outer range [from..to] total capacity (regardless of tracked ranges)
22
23
  total() {
23
24
  let min = this.from;
24
25
  let max = this.to ?? this.getMax();
@@ -27,6 +28,7 @@ export class PackedRanges {
27
28
  }
28
29
  return max - min;
29
30
  }
31
+ // Get the sum of all tracked range lengths (total numbers visited/added)
30
32
  totalAdded() {
31
33
  let count = 0;
32
34
  for (let i = 0; i < this.ranges.length; i++) {
@@ -35,9 +37,29 @@ export class PackedRanges {
35
37
  }
36
38
  return count;
37
39
  }
40
+ /**
41
+ * Calculates the number of elements remaining to be visited/added in the range.
42
+ * This is the difference between the total capacity and the number of elements already tracked.
43
+ */
38
44
  totalLeft() {
39
45
  return this.total() - this.totalAdded();
40
46
  }
47
+ /**
48
+ * Gets the next unvisited number in the range and marks it as visited.
49
+ *
50
+ * This method finds the next number that hasn't been added to the tracked ranges yet,
51
+ * automatically adds it to the ranges, and returns it. It respects the boundaries
52
+ * defined by `from` and `to` properties.
53
+ *
54
+ * The method works by:
55
+ * - Starting from `this.from` if no ranges exist
56
+ * - Filling gaps between existing ranges
57
+ * - Extending the last range if no gaps exist
58
+ * - Merging adjacent ranges when they become contiguous
59
+ *
60
+ * @returns The next unvisited number in the range, or `null` if all numbers up to `this.to` have been visited
61
+ * @throws {Error} If the internal ranges array is in an invalid state (unsorted or overlapping)
62
+ */
41
63
  next() {
42
64
  let min = this.from;
43
65
  if (this.ranges.length === 0) {
@@ -71,6 +93,14 @@ export class PackedRanges {
71
93
  this.ranges[0][1] = r0Max;
72
94
  return r0Max;
73
95
  }
96
+ /**
97
+ * Gets the maximum (upper bound) value from all tracked ranges.
98
+ *
99
+ * This method returns the highest number that has been visited/added to the ranges.
100
+ * It retrieves the upper bound of the last range in the sorted ranges array.
101
+ *
102
+ * @returns The maximum value in the tracked ranges, or `null` if no ranges have been added yet
103
+ */
74
104
  getMax() {
75
105
  if (this.ranges.length === 0) {
76
106
  return null;
@@ -78,6 +108,16 @@ export class PackedRanges {
78
108
  let r = this.ranges[this.ranges.length - 1];
79
109
  return r[1];
80
110
  }
111
+ /**
112
+ * Checks if a specific number has been visited/added to the tracked ranges.
113
+ *
114
+ * This method searches through all tracked ranges to determine if the given number
115
+ * falls within any of them. It performs a linear search through the ranges array,
116
+ * checking if the number is within the bounds (inclusive) of any range.
117
+ *
118
+ * @param nr - The number to check for inclusion in the tracked ranges
119
+ * @returns `true` if the number exists within any of the tracked ranges, `false` otherwise
120
+ */
81
121
  includes(nr) {
82
122
  for (let i = 0; i < this.ranges.length; i++) {
83
123
  let [a, b] = this.ranges[i];
@@ -87,6 +127,21 @@ export class PackedRanges {
87
127
  }
88
128
  return false;
89
129
  }
130
+ /**
131
+ * Adds a number to the tracked ranges, marking it as visited.
132
+ *
133
+ * This method intelligently adds a number to the ranges by either:
134
+ * - Extending an existing range if the number is adjacent to it
135
+ * - Creating a new range if the number is isolated
136
+ * - Doing nothing if the number is already included in an existing range
137
+ *
138
+ * The method maintains the sorted order of ranges and automatically merges
139
+ * adjacent numbers into contiguous ranges for efficient storage.
140
+ *
141
+ * @param nr - The number to add to the tracked ranges
142
+ * @returns `true` if the number was successfully added (new or extended a range),
143
+ * `false` if the number was already present in the ranges
144
+ */
90
145
  add(nr) {
91
146
  let modified = false;
92
147
  for (let i = 0; i < this.ranges.length; i++) {
@@ -123,6 +178,40 @@ export class PackedRanges {
123
178
  }
124
179
  return true;
125
180
  }
181
+ /**
182
+ * Adds a complete range to the tracked ranges and compacts the result.
183
+ *
184
+ * This method adds an entire range [min, max] to the tracked ranges array,
185
+ * then automatically compacts the ranges to merge any overlapping or adjacent
186
+ * ranges. This is useful for bulk operations where you want to mark multiple
187
+ * consecutive numbers as visited at once.
188
+ *
189
+ * Unlike the `add()` method which adds individual numbers, this method adds
190
+ * a complete range tuple and ensures the internal ranges array remains optimized
191
+ * by calling `compact()` after insertion.
192
+ *
193
+ * @param range - A tuple [min, max] representing the range to add, where both bounds are inclusive
194
+ */
195
+ addRange(range) {
196
+ this.ranges.push(range);
197
+ this.compact();
198
+ }
199
+ /**
200
+ * Removes a specific number from the tracked ranges, marking it as unvisited.
201
+ *
202
+ * This method searches for the number within the tracked ranges and removes it by either:
203
+ * - Removing the entire range if it contains only the target number
204
+ * - Shrinking the range by adjusting its lower bound if the number is at the start
205
+ * - Shrinking the range by adjusting its upper bound if the number is at the end
206
+ * - Splitting the range into two separate ranges if the number is in the middle
207
+ *
208
+ * The method maintains the sorted order of ranges and ensures efficient storage
209
+ * by handling all edge cases appropriately.
210
+ *
211
+ * @param nr - The number to remove from the tracked ranges
212
+ * @returns `true` if the number was found and successfully removed from the ranges,
213
+ * `false` if the number was not present in any of the tracked ranges
214
+ */
126
215
  remove(nr) {
127
216
  for (let i = 0; i < this.ranges.length; i++) {
128
217
  let [min, max] = this.ranges[i];
@@ -147,42 +236,355 @@ export class PackedRanges {
147
236
  }
148
237
  return false;
149
238
  }
239
+ /**
240
+ * Removes a range of numbers from the tracked ranges, marking them as unvisited.
241
+ *
242
+ * This method subtracts the specified range from all tracked ranges, effectively
243
+ * removing all numbers within the given range from the visited/added set. It handles
244
+ * overlapping ranges by splitting or trimming existing ranges as needed.
245
+ *
246
+ * The method maintains the sorted order of ranges and ensures efficient storage
247
+ * by delegating to the `Ranges.subtract()` utility function.
248
+ *
249
+ * @param range - A tuple [min, max] representing the range to remove, where both bounds are inclusive
250
+ * @returns The current `PackedRanges` instance for method chaining
251
+ */
252
+ subtractRange(range) {
253
+ this.ranges = Ranges.subtract(this.ranges, range);
254
+ return this;
255
+ }
256
+ /**
257
+ * Removes multiple ranges of numbers from the tracked ranges, marking them as unvisited.
258
+ *
259
+ * This method subtracts all specified ranges from the tracked ranges, effectively
260
+ * removing all numbers within the given ranges from the visited/added set. It handles
261
+ * overlapping ranges by splitting or trimming existing ranges as needed for each
262
+ * range in the input array.
263
+ *
264
+ * The method maintains the sorted order of ranges and ensures efficient storage
265
+ * by delegating to the `Ranges.subtractMany()` utility function.
266
+ *
267
+ * @param ranges - An array of tuples [min, max] representing the ranges to remove, where both bounds are inclusive
268
+ * @returns The current `PackedRanges` instance for method chaining
269
+ */
270
+ subtractRanges(ranges) {
271
+ this.ranges = Ranges.subtractMany(this.ranges, ranges);
272
+ return this;
273
+ }
274
+ /**
275
+ * Compacts the tracked ranges by merging overlapping and adjacent ranges.
276
+ *
277
+ * This method optimizes the internal ranges array by:
278
+ * - Merging overlapping ranges into single contiguous ranges
279
+ * - Joining adjacent ranges (e.g., [1,4] and [5,6] become [1,6])
280
+ * - Sorting ranges by their starting values
281
+ * - Removing redundant range entries
282
+ *
283
+ * This operation is useful after bulk modifications to ensure the ranges
284
+ * array remains in its most efficient form for storage and querying.
285
+ */
150
286
  compact() {
151
- for (let i = 0; i < this.ranges.length; i++) {
152
- let rangeA = this.ranges[i];
153
- for (let j = i + 1; j < this.ranges.length; j++) {
154
- let rangeB = this.ranges[j];
155
- if (Ranges.overlaps(rangeA, rangeB)) {
156
- let [x1, y1] = rangeA;
157
- let [x2, y2] = rangeB;
158
- this.ranges[i] = [Math.min(x1, x2), Math.max(y1, y2)];
159
- this.ranges.splice(j, 1);
160
- j--;
161
- continue;
162
- }
163
- }
164
- }
165
- this.ranges = alot(this.ranges)
166
- .sortBy(([x]) => x)
167
- .toArray();
287
+ this.ranges = Ranges.compact(this.ranges);
168
288
  }
289
+ /**
290
+ * Sets the tracked ranges to a new array of ranges and compacts them.
291
+ *
292
+ * This method replaces the entire internal ranges array with the provided ranges,
293
+ * then automatically compacts them to merge any overlapping or adjacent ranges.
294
+ * This is useful for bulk initialization or restoration of ranges from a saved state.
295
+ *
296
+ * After setting the ranges, the method ensures the internal ranges array is optimized
297
+ * by calling `compact()`, which merges overlapping ranges and joins adjacent ones.
298
+ *
299
+ * @param ranges - An array of tuples [min, max] representing the ranges to set, where both bounds are inclusive
300
+ */
169
301
  set(ranges) {
170
302
  this.ranges = ranges;
171
303
  this.compact();
172
304
  }
305
+ /**
306
+ * Serializes the tracked ranges to a JSON string representation.
307
+ *
308
+ * This method converts the internal ranges array into a JSON string format,
309
+ * which can be used for persistence, transmission, or storage purposes.
310
+ * The serialized string can later be parsed and used to restore the ranges
311
+ * via the constructor's `ranges` option.
312
+ *
313
+ * @returns A JSON string representation of the tracked ranges array
314
+ */
173
315
  serialize() {
174
316
  return JSON.stringify(this.ranges);
175
317
  }
318
+ /**
319
+ * Creates a new PackedRanges instance containing only the ranges starting from a specified number.
320
+ *
321
+ * This method filters the tracked ranges to include only those that contain or come after
322
+ * the specified `from` value. If a range overlaps with the `from` value, it is trimmed
323
+ * to start at `from`. All ranges before `from` are excluded from the result.
324
+ *
325
+ * The original PackedRanges instance remains unchanged; a new instance is returned with
326
+ * the filtered ranges.
327
+ *
328
+ * @param from - The starting number from which to pick ranges (inclusive)
329
+ * @returns A new PackedRanges instance containing only the ranges from the specified number onwards
330
+ */
331
+ pickFrom(from) {
332
+ let arr = Ranges.pickFrom(this.ranges, from);
333
+ return new PackedRanges({ ranges: arr });
334
+ }
335
+ /**
336
+ * Creates a new PackedRanges instance containing only the ranges up to a specified number.
337
+ *
338
+ * This method filters the tracked ranges to include only those that contain or come before
339
+ * the specified `to` value. If a range overlaps with the `to` value, it is trimmed
340
+ * to end at `to`. All ranges after `to` are excluded from the result.
341
+ *
342
+ * The original PackedRanges instance remains unchanged; a new instance is returned with
343
+ * the filtered ranges.
344
+ *
345
+ * @param to - The ending number up to which to pick ranges (inclusive)
346
+ * @returns A new PackedRanges instance containing only the ranges up to the specified number
347
+ */
348
+ pickTo(to) {
349
+ let arr = Ranges.pickTo(this.ranges, to);
350
+ return new PackedRanges({ ranges: arr });
351
+ }
352
+ /**
353
+ * Computes the intersection of multiple range arrays, returning only the ranges that are common to all inputs.
354
+ *
355
+ * This method performs a set intersection operation across multiple arrays of ranges,
356
+ * finding only those number ranges that appear in every input array. The result is
357
+ * compacted to merge any overlapping or adjacent ranges for efficient storage.
358
+ *
359
+ * For example:
360
+ * - Input: [[[1,5], [10,15]], [[3,7], [12,20]]]
361
+ * - Output: [[3,5], [12,15]] (ranges common to both arrays)
362
+ *
363
+ * @param rangesArr - An array of range arrays, where each range array contains tuples [min, max] representing inclusive number ranges
364
+ * @returns A compacted array of ranges representing the intersection of all input range arrays, or an empty array if no common ranges exist or if the input is empty
365
+ */
366
+ static intersection(rangesArr) {
367
+ if (rangesArr.length === 0) {
368
+ return [];
369
+ }
370
+ let arr = Ranges.clone(rangesArr[0]);
371
+ for (let i = 1; i < rangesArr.length; i++) {
372
+ arr = Ranges.intersection(arr, rangesArr[i]);
373
+ }
374
+ return Ranges.compact(arr);
375
+ }
376
+ /**
377
+ * Computes the union of multiple range arrays, returning all ranges that appear in any of the inputs.
378
+ *
379
+ * This method performs a set union operation across multiple arrays of ranges,
380
+ * combining all number ranges from every input array. The result is compacted to
381
+ * merge any overlapping or adjacent ranges for efficient storage.
382
+ *
383
+ * For example:
384
+ * - Input: [[[1,5], [10,15]], [[3,7], [12,20]]]
385
+ * - Output: [[1,7], [10,20]] (all ranges merged and compacted)
386
+ *
387
+ * @param rangesArr - An array of range arrays, where each range array contains tuples [min, max] representing inclusive number ranges
388
+ * @returns A compacted array of ranges representing the union of all input range arrays, or an empty array if the input is empty
389
+ */
390
+ static union(rangesArr) {
391
+ let arr = alot(rangesArr)
392
+ .mapMany(x => x)
393
+ .toArray();
394
+ return Ranges.compact(arr);
395
+ }
396
+ /**
397
+ * Computes the difference between two range arrays, removing all ranges in B from ranges in A.
398
+ *
399
+ * This method performs a set difference operation (A − B), subtracting all number ranges
400
+ * in `rangesB` from `rangesA`. The result contains only those portions of `rangesA` that
401
+ * do not overlap with any range in `rangesB`. The result is compacted to merge any
402
+ * overlapping or adjacent ranges for efficient storage.
403
+ *
404
+ * For example:
405
+ * - Input: rangesA = [[1,10], [20,30]], rangesB = [[5,15], [25,35]]
406
+ * - Output: [[1,4], [20,24]] (parts of A not covered by B)
407
+ *
408
+ * @param rangesA - The array of ranges to subtract from, where each range is a tuple [min, max] representing inclusive number ranges
409
+ * @param rangesB - The array of ranges to subtract, where each range is a tuple [min, max] representing inclusive number ranges
410
+ * @returns A compacted array of ranges representing the difference (A − B), or an empty array if all of A is covered by B
411
+ */
412
+ static subtract(rangesA, rangesB) {
413
+ let arr = Ranges.subtractMany(rangesA, rangesB);
414
+ return Ranges.compact(arr);
415
+ }
416
+ static pickFrom(ranges, from) {
417
+ let arr = Ranges.pickFrom(ranges, from);
418
+ return arr;
419
+ }
420
+ static pickTo(ranges, to) {
421
+ let arr = Ranges.pickTo(ranges, to);
422
+ return arr;
423
+ }
176
424
  }
177
- var Ranges;
178
- (function (Ranges) {
425
+ var Range;
426
+ (function (Range) {
427
+ // Check if two ranges overlap
179
428
  function overlaps(r1, r2) {
180
429
  let [x1, y1] = r1;
181
430
  let [x2, y2] = r2;
182
431
  let d = Math.min(y1, y2) - Math.max(x1, x2);
183
432
  return d > -1;
184
433
  }
185
- Ranges.overlaps = overlaps;
434
+ Range.overlaps = overlaps;
435
+ // AND: A ∩ B
436
+ function intersection(r1, r2) {
437
+ let [x1, y1] = r1;
438
+ let [x2, y2] = r2;
439
+ let minY = Math.min(y1, y2);
440
+ let maxX = Math.max(x1, x2);
441
+ if (minY >= maxX) {
442
+ return [maxX, minY];
443
+ }
444
+ return null;
445
+ }
446
+ Range.intersection = intersection;
447
+ })(Range || (Range = {}));
448
+ var Ranges;
449
+ (function (Ranges) {
450
+ function clone(ranges) {
451
+ let arr = [];
452
+ for (let [x, y] of ranges) {
453
+ arr.push([x, y]);
454
+ }
455
+ return arr;
456
+ }
457
+ Ranges.clone = clone;
458
+ // AND: A ∩ B
459
+ function intersection(rangesA, rangesB) {
460
+ let arr = [];
461
+ for (let i = 0; i < rangesA.length; i++) {
462
+ let rA = rangesA[i];
463
+ for (let j = 0; j < rangesB.length; j++) {
464
+ let union = Range.intersection(rA, rangesB[j]);
465
+ if (union) {
466
+ arr.push(union);
467
+ continue;
468
+ }
469
+ }
470
+ }
471
+ return arr;
472
+ }
473
+ Ranges.intersection = intersection;
474
+ function compact(ranges) {
475
+ for (let i = 0; i < ranges.length; i++) {
476
+ let rangeA = ranges[i];
477
+ for (let j = i + 1; j < ranges.length; j++) {
478
+ let rangeB = ranges[j];
479
+ if (Range.overlaps(rangeA, rangeB)) {
480
+ let [x1, y1] = rangeA;
481
+ let [x2, y2] = rangeB;
482
+ ranges[i] = [Math.min(x1, x2), Math.max(y1, y2)];
483
+ ranges.splice(j, 1);
484
+ j--;
485
+ continue;
486
+ }
487
+ }
488
+ }
489
+ ranges = alot(ranges)
490
+ .sortBy(([x]) => x)
491
+ .toArray();
492
+ // Join non overlapping ranges: [1,4],[5, 6] -> [1,6]
493
+ for (let i = 0; i < ranges.length - 1; i++) {
494
+ let A = ranges[i];
495
+ let B = ranges[i + 1];
496
+ let aLast = A[A.length - 1];
497
+ let bFirst = B[0];
498
+ if (aLast + 1 === bFirst) {
499
+ let bLast = B[B.length - 1];
500
+ A[A.length - 1] = bLast;
501
+ ranges.splice(i + 1, 1);
502
+ }
503
+ }
504
+ return ranges;
505
+ }
506
+ Ranges.compact = compact;
507
+ // Difference: A \ B
508
+ function subtract(ranges, range) {
509
+ let arr = [];
510
+ let [rmFrom, rmTo] = range;
511
+ for (let i = 0; i < ranges.length; i++) {
512
+ let A = ranges[i];
513
+ if (Range.overlaps(A, range) === false) {
514
+ arr.push(A);
515
+ continue;
516
+ }
517
+ let [Amin, Amax] = ranges[i];
518
+ if (Amin < rmFrom) {
519
+ arr.push([Amin, rmFrom - 1]);
520
+ }
521
+ if (Amax > rmTo) {
522
+ arr.push([rmTo + 1, Amax]);
523
+ }
524
+ }
525
+ return arr;
526
+ }
527
+ Ranges.subtract = subtract;
528
+ // Difference: A \ ∩B
529
+ function subtractMany(ranges, rangeArr) {
530
+ let arr = ranges;
531
+ for (let range of rangeArr) {
532
+ arr = subtract(arr, range);
533
+ }
534
+ return arr;
535
+ }
536
+ Ranges.subtractMany = subtractMany;
537
+ function pickFrom(ranges, from) {
538
+ if (ranges == null || ranges.length === 0) {
539
+ return [];
540
+ }
541
+ let arr = [];
542
+ for (let i = 0; i < ranges.length; i++) {
543
+ let A = ranges[i];
544
+ let aFirst = A[0];
545
+ let aLast = A[A.length - 1];
546
+ if (aLast < from) {
547
+ // This part is fully before from, ignore, search for the next part
548
+ continue;
549
+ }
550
+ if (from < aFirst) {
551
+ // No overlapping, pick all ranges
552
+ arr = ranges.slice(i).map(([x, y]) => [x, y]);
553
+ break;
554
+ }
555
+ let overlapped = [from, aLast];
556
+ arr = ranges.slice(i + 1).map(([x, y]) => [x, y]);
557
+ arr.unshift(overlapped);
558
+ break;
559
+ }
560
+ return arr;
561
+ }
562
+ Ranges.pickFrom = pickFrom;
563
+ function pickTo(ranges, to) {
564
+ if (ranges == null || ranges.length === 0) {
565
+ return [];
566
+ }
567
+ let arr = [];
568
+ for (let i = 0; i < ranges.length; i++) {
569
+ let A = ranges[i];
570
+ let aFirst = A[0];
571
+ let aLast = A[A.length - 1];
572
+ if (aFirst > to) {
573
+ // This part starts after 'to' => break (as sorted, next parts also start after 'to')
574
+ break;
575
+ }
576
+ if (aLast < to) {
577
+ // No overlapping, pick full range
578
+ arr.push([aFirst, aLast]);
579
+ }
580
+ else {
581
+ // Overlapps
582
+ arr.push([aFirst, to]);
583
+ }
584
+ }
585
+ return arr;
586
+ }
587
+ Ranges.pickTo = pickTo;
186
588
  })(Ranges || (Ranges = {}));
187
589
  //# sourceMappingURL=PackedRanges.js.map
188
590
  //# sourceMappingURL=PackedRanges.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Web3Client.js","sourceRoot":"","sources":["../../../src/clients/Web3Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Web3Client.js","sourceRoot":"","sources":["../../../src/clients/Web3Client.ts"],"names":[],"mappings":"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"}
@@ -516,7 +516,8 @@ var RangeWorker;
516
516
  blocks: perf.blocks,
517
517
  blocksPerSecond: Number(blocksPerSecFormatted),
518
518
  timeLeftSeconds: leftSeconds,
519
- completed: cursor >= toBlock
519
+ completed: cursor >= toBlock,
520
+ infos: { fetched: perf.blocks.loaded, cached: 0 }
520
521
  });
521
522
  let lastNodeStats = Date.now() - nodeStats;
522
523
  if (lastNodeStats > 30 * 1000) {