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.
- package/lib/cjs/class/PackedRanges.js +422 -20
- package/lib/cjs/class/PackedRanges.js.map +1 -1
- package/lib/cjs/clients/Web3Client.js +2 -1
- package/lib/cjs/clients/Web3Client.js.map +1 -1
- package/lib/cjs/contracts/ContractReader.js +24 -1
- package/lib/cjs/contracts/ContractReader.js.map +1 -1
- package/lib/cjs/contracts/ContractWriter.js +1 -1
- package/lib/cjs/contracts/ContractWriter.js.map +1 -1
- package/lib/cjs/hardhat/HardhatProvider.js +7 -0
- package/lib/cjs/hardhat/HardhatProvider.js.map +1 -1
- package/lib/cjs/indexer/EventsIndexer.js +143 -98
- package/lib/cjs/indexer/EventsIndexer.js.map +1 -1
- package/lib/cjs/rpc/RpcContract.js +21 -13
- package/lib/cjs/rpc/RpcContract.js.map +1 -1
- package/lib/cjs/safe/GnosisSafeHandler.js +1 -1
- package/lib/cjs/safe/GnosisSafeHandler.js.map +1 -1
- package/lib/cjs/safe/transport/SafeServiceTransport.js +13 -3
- package/lib/cjs/safe/transport/SafeServiceTransport.js.map +1 -1
- package/lib/cjs/txs/TxWriter.js +5 -2
- package/lib/cjs/txs/TxWriter.js.map +1 -1
- package/lib/cjs/utils/$contract.js +7 -2
- package/lib/cjs/utils/$contract.js.map +1 -1
- package/lib/esm/class/PackedRanges.js.map +1 -1
- package/lib/esm/class/PackedRanges.mjs +422 -20
- package/lib/esm/clients/Web3Client.js.map +1 -1
- package/lib/esm/clients/Web3Client.mjs +2 -1
- package/lib/esm/contracts/ContractReader.js.map +1 -1
- package/lib/esm/contracts/ContractReader.mjs +24 -1
- package/lib/esm/contracts/ContractWriter.js.map +1 -1
- package/lib/esm/contracts/ContractWriter.mjs +1 -1
- package/lib/esm/hardhat/HardhatProvider.js.map +1 -1
- package/lib/esm/hardhat/HardhatProvider.mjs +7 -0
- package/lib/esm/indexer/EventsIndexer.js.map +1 -1
- package/lib/esm/indexer/EventsIndexer.mjs +143 -98
- package/lib/esm/rpc/RpcContract.js.map +1 -1
- package/lib/esm/rpc/RpcContract.mjs +21 -13
- package/lib/esm/safe/GnosisSafeHandler.js.map +1 -1
- package/lib/esm/safe/GnosisSafeHandler.mjs +1 -1
- package/lib/esm/safe/transport/SafeServiceTransport.js.map +1 -1
- package/lib/esm/safe/transport/SafeServiceTransport.mjs +13 -3
- package/lib/esm/txs/TxWriter.js.map +1 -1
- package/lib/esm/txs/TxWriter.mjs +5 -2
- package/lib/esm/utils/$contract.js.map +1 -1
- package/lib/esm/utils/$contract.mjs +7 -2
- package/lib/types/class/PackedRanges.d.ts +224 -0
- package/lib/types/clients/Web3Client.d.ts +4 -0
- package/lib/types/contracts/ContractReader.d.ts +1 -0
- package/lib/types/indexer/EventsIndexer.d.ts +5 -1
- package/lib/types/indexer/storage/interfaces.d.ts +1 -0
- package/lib/types/rpc/RpcContract.d.ts +16 -0
- package/lib/types/safe/GnosisSafeHandler.d.ts +1 -0
- package/lib/types/safe/transport/ISafeServiceTransport.d.ts +1 -0
- package/lib/types/utils/$contract.d.ts +1 -0
- package/package.json +1 -1
- package/src/class/PackedRanges.ts +447 -27
- package/src/clients/Web3Client.ts +6 -1
- package/src/contracts/ContractReader.ts +30 -3
- package/src/contracts/ContractWriter.ts +1 -1
- package/src/hardhat/HardhatProvider.ts +9 -0
- package/src/indexer/EventsIndexer.ts +173 -105
- package/src/indexer/storage/interfaces.ts +1 -0
- package/src/rpc/RpcContract.ts +34 -15
- package/src/safe/GnosisSafeHandler.ts +1 -1
- package/src/safe/transport/ISafeServiceTransport.ts +5 -1
- package/src/safe/transport/SafeServiceTransport.ts +15 -4
- package/src/txs/TxWriter.ts +6 -2
- 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
|
-
|
|
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
|
|
178
|
-
(function (
|
|
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
|
-
|
|
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) {
|