ponder 0.17.0 → 0.17.1
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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# ponder
|
|
2
2
|
|
|
3
|
+
## 0.17.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#2338](https://github.com/ponder-sh/ponder/pull/2338) [`1aedab8`](https://github.com/ponder-sh/ponder/commit/1aedab815eb4e304b9c0a928e014307c5d71e333) Thanks [@kyscott18](https://github.com/kyscott18)! - Improved sync performance by removing redundant block range constraints from event queries.
|
|
8
|
+
|
|
3
9
|
## 0.17.0
|
|
4
10
|
|
|
5
11
|
### Minor Changes
|
|
@@ -351,15 +351,26 @@ export const createSyncStore = ({ common, qb, }) => {
|
|
|
351
351
|
}
|
|
352
352
|
},
|
|
353
353
|
getEventData: async ({ filters, fromBlock, toBlock, chainId, limit }, context) => {
|
|
354
|
-
const
|
|
355
|
-
const
|
|
356
|
-
const
|
|
357
|
-
const
|
|
354
|
+
const activeFilters = filters.filter((filter) => isFilterInBlockRange({ filter, fromBlock, toBlock }));
|
|
355
|
+
const logFilters = activeFilters.filter((f) => f.type === "log");
|
|
356
|
+
const transactionFilters = activeFilters.filter((f) => f.type === "transaction");
|
|
357
|
+
const traceFilters = activeFilters.filter((f) => f.type === "trace");
|
|
358
|
+
const transferFilters = activeFilters.filter((f) => f.type === "transfer");
|
|
359
|
+
const logBlockRange = getFilterBlockRange({
|
|
360
|
+
filters: logFilters,
|
|
361
|
+
fromBlock,
|
|
362
|
+
toBlock,
|
|
363
|
+
});
|
|
364
|
+
const traceBlockRange = getFilterBlockRange({
|
|
365
|
+
filters: [...traceFilters, ...transferFilters],
|
|
366
|
+
fromBlock,
|
|
367
|
+
toBlock,
|
|
368
|
+
});
|
|
358
369
|
const shouldQueryBlocks = true;
|
|
359
370
|
const shouldQueryLogs = logFilters.length > 0;
|
|
360
371
|
const shouldQueryTraces = traceFilters.length > 0 || transferFilters.length > 0;
|
|
361
372
|
const shouldQueryTransactions = transactionFilters.length > 0 || shouldQueryLogs || shouldQueryTraces;
|
|
362
|
-
const shouldQueryTransactionReceipts =
|
|
373
|
+
const shouldQueryTransactionReceipts = activeFilters.some((filter) => filter.hasTransactionReceipt);
|
|
363
374
|
// Note: `LogSelect` doesn't exist because all log columns are required.
|
|
364
375
|
const blockSelect = {
|
|
365
376
|
number: PONDER_SYNC.blocks.number,
|
|
@@ -431,7 +442,7 @@ export const createSyncStore = ({ common, qb, }) => {
|
|
|
431
442
|
const tracesQuery = qb.raw
|
|
432
443
|
.select(traceSelect)
|
|
433
444
|
.from(PONDER_SYNC.traces)
|
|
434
|
-
.where(and(eq(PONDER_SYNC.traces.chainId, BigInt(chainId)), gte(PONDER_SYNC.traces.blockNumber, BigInt(fromBlock)), lte(PONDER_SYNC.traces.blockNumber, BigInt(toBlock)), or(...traceFilters.map((filter) => traceFilter(filter)), ...transferFilters.map((filter) => transferFilter(filter)))))
|
|
445
|
+
.where(and(eq(PONDER_SYNC.traces.chainId, BigInt(chainId)), gte(PONDER_SYNC.traces.blockNumber, BigInt(traceBlockRange.fromBlock)), lte(PONDER_SYNC.traces.blockNumber, BigInt(traceBlockRange.toBlock)), or(...traceFilters.map((filter) => traceFilter(filter)), ...transferFilters.map((filter) => transferFilter(filter)))))
|
|
435
446
|
.orderBy(asc(PONDER_SYNC.traces.blockNumber), asc(PONDER_SYNC.traces.transactionIndex), asc(PONDER_SYNC.traces.traceIndex))
|
|
436
447
|
.limit(limit);
|
|
437
448
|
const logsQuery = qb.raw
|
|
@@ -447,7 +458,7 @@ export const createSyncStore = ({ common, qb, }) => {
|
|
|
447
458
|
data: PONDER_SYNC.logs.data,
|
|
448
459
|
})
|
|
449
460
|
.from(PONDER_SYNC.logs)
|
|
450
|
-
.where(and(eq(PONDER_SYNC.logs.chainId, BigInt(chainId)), gte(PONDER_SYNC.logs.blockNumber, BigInt(fromBlock)), lte(PONDER_SYNC.logs.blockNumber, BigInt(toBlock)), or(...logFilters.map((filter) => logFilter(filter)))))
|
|
461
|
+
.where(and(eq(PONDER_SYNC.logs.chainId, BigInt(chainId)), gte(PONDER_SYNC.logs.blockNumber, BigInt(logBlockRange.fromBlock)), lte(PONDER_SYNC.logs.blockNumber, BigInt(logBlockRange.toBlock)), or(...logFilters.map((filter) => logFilter(filter)))))
|
|
451
462
|
.orderBy(asc(PONDER_SYNC.logs.blockNumber), asc(PONDER_SYNC.logs.logIndex))
|
|
452
463
|
.limit(limit);
|
|
453
464
|
let endClock = startClock();
|
|
@@ -780,6 +791,23 @@ const addressFilter = (address, column) => {
|
|
|
780
791
|
return eq(column, address);
|
|
781
792
|
return sql `true`;
|
|
782
793
|
};
|
|
794
|
+
/**
|
|
795
|
+
* @dev It's an invariant that the returned `fromBlock <= toBlock`.
|
|
796
|
+
*/
|
|
797
|
+
export const getFilterBlockRange = ({ filters, fromBlock, toBlock, }) => {
|
|
798
|
+
if (filters.length === 0)
|
|
799
|
+
return { fromBlock, toBlock };
|
|
800
|
+
const ranges = filters.map((filter) => ({
|
|
801
|
+
fromBlock: Math.max(fromBlock, filter.fromBlock ?? fromBlock),
|
|
802
|
+
toBlock: Math.min(toBlock, filter.toBlock ?? toBlock),
|
|
803
|
+
}));
|
|
804
|
+
return {
|
|
805
|
+
fromBlock: Math.min(...ranges.map((range) => range.fromBlock)),
|
|
806
|
+
toBlock: Math.max(...ranges.map((range) => range.toBlock)),
|
|
807
|
+
};
|
|
808
|
+
};
|
|
809
|
+
const isFilterInBlockRange = ({ filter, fromBlock, toBlock, }) => (filter.fromBlock ?? Number.NEGATIVE_INFINITY) <= toBlock &&
|
|
810
|
+
(filter.toBlock ?? Number.POSITIVE_INFINITY) >= fromBlock;
|
|
783
811
|
export const logFilter = (filter) => {
|
|
784
812
|
const conditions = [];
|
|
785
813
|
for (const idx of [0, 1, 2, 3]) {
|
|
@@ -796,35 +824,17 @@ export const logFilter = (filter) => {
|
|
|
796
824
|
}
|
|
797
825
|
}
|
|
798
826
|
conditions.push(addressFilter(filter.address, PONDER_SYNC.logs.address));
|
|
799
|
-
if (filter.fromBlock !== undefined) {
|
|
800
|
-
conditions.push(gte(PONDER_SYNC.logs.blockNumber, BigInt(filter.fromBlock)));
|
|
801
|
-
}
|
|
802
|
-
if (filter.toBlock !== undefined) {
|
|
803
|
-
conditions.push(lte(PONDER_SYNC.logs.blockNumber, BigInt(filter.toBlock)));
|
|
804
|
-
}
|
|
805
827
|
return and(...conditions);
|
|
806
828
|
};
|
|
807
829
|
export const blockFilter = (filter) => {
|
|
808
830
|
const conditions = [];
|
|
809
831
|
conditions.push(sql `(blocks.number - ${filter.offset}) % ${filter.interval} = 0`);
|
|
810
|
-
if (filter.fromBlock !== undefined) {
|
|
811
|
-
conditions.push(gte(PONDER_SYNC.blocks.number, BigInt(filter.fromBlock)));
|
|
812
|
-
}
|
|
813
|
-
if (filter.toBlock !== undefined) {
|
|
814
|
-
conditions.push(lte(PONDER_SYNC.blocks.number, BigInt(filter.toBlock)));
|
|
815
|
-
}
|
|
816
832
|
return and(...conditions);
|
|
817
833
|
};
|
|
818
834
|
export const transactionFilter = (filter) => {
|
|
819
835
|
const conditions = [];
|
|
820
836
|
conditions.push(addressFilter(filter.fromAddress, PONDER_SYNC.transactions.from));
|
|
821
837
|
conditions.push(addressFilter(filter.toAddress, PONDER_SYNC.transactions.to));
|
|
822
|
-
if (filter.fromBlock !== undefined) {
|
|
823
|
-
conditions.push(gte(PONDER_SYNC.transactions.blockNumber, BigInt(filter.fromBlock)));
|
|
824
|
-
}
|
|
825
|
-
if (filter.toBlock !== undefined) {
|
|
826
|
-
conditions.push(lte(PONDER_SYNC.transactions.blockNumber, BigInt(filter.toBlock)));
|
|
827
|
-
}
|
|
828
838
|
return and(...conditions);
|
|
829
839
|
};
|
|
830
840
|
export const transferFilter = (filter) => {
|
|
@@ -834,12 +844,6 @@ export const transferFilter = (filter) => {
|
|
|
834
844
|
if (filter.includeReverted === false) {
|
|
835
845
|
conditions.push(isNull(PONDER_SYNC.traces.error));
|
|
836
846
|
}
|
|
837
|
-
if (filter.fromBlock !== undefined) {
|
|
838
|
-
conditions.push(gte(PONDER_SYNC.traces.blockNumber, BigInt(filter.fromBlock)));
|
|
839
|
-
}
|
|
840
|
-
if (filter.toBlock !== undefined) {
|
|
841
|
-
conditions.push(lte(PONDER_SYNC.traces.blockNumber, BigInt(filter.toBlock)));
|
|
842
|
-
}
|
|
843
847
|
return and(...conditions);
|
|
844
848
|
};
|
|
845
849
|
export const traceFilter = (filter) => {
|
|
@@ -855,12 +859,6 @@ export const traceFilter = (filter) => {
|
|
|
855
859
|
if (filter.functionSelector !== undefined) {
|
|
856
860
|
conditions.push(eq(sql `substring(traces.input from 1 for 10)`, filter.functionSelector));
|
|
857
861
|
}
|
|
858
|
-
if (filter.fromBlock !== undefined) {
|
|
859
|
-
conditions.push(gte(PONDER_SYNC.traces.blockNumber, BigInt(filter.fromBlock)));
|
|
860
|
-
}
|
|
861
|
-
if (filter.toBlock !== undefined) {
|
|
862
|
-
conditions.push(lte(PONDER_SYNC.traces.blockNumber, BigInt(filter.toBlock)));
|
|
863
|
-
}
|
|
864
862
|
return and(...conditions);
|
|
865
863
|
};
|
|
866
864
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sync-store/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sync-store/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -127,6 +127,17 @@ export declare const createSyncStore: ({ common, qb, }: {
|
|
|
127
127
|
common: Common;
|
|
128
128
|
qb: QB<typeof PONDER_SYNC>;
|
|
129
129
|
}) => SyncStore;
|
|
130
|
+
/**
|
|
131
|
+
* @dev It's an invariant that the returned `fromBlock <= toBlock`.
|
|
132
|
+
*/
|
|
133
|
+
export declare const getFilterBlockRange: ({ filters, fromBlock, toBlock, }: {
|
|
134
|
+
filters: Pick<Filter, "fromBlock" | "toBlock">[];
|
|
135
|
+
fromBlock: number;
|
|
136
|
+
toBlock: number;
|
|
137
|
+
}) => {
|
|
138
|
+
fromBlock: number;
|
|
139
|
+
toBlock: number;
|
|
140
|
+
};
|
|
130
141
|
export declare const logFilter: (filter: LogFilter) => SQL;
|
|
131
142
|
export declare const blockFilter: (filter: BlockFilter) => SQL;
|
|
132
143
|
export declare const transactionFilter: (filter: TransactionFilter) => SQL;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sync-store/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sync-store/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ponder",
|
|
3
|
-
"version": "0.17.
|
|
3
|
+
"version": "0.17.1",
|
|
4
4
|
"description": "An open-source TypeScript framework for EVM data indexing",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
"rimraf": "^5.0.5",
|
|
103
103
|
"tsx": "^4.19.2",
|
|
104
104
|
"vitest": "1.6.1",
|
|
105
|
-
"@ponder/client": "0.17.
|
|
105
|
+
"@ponder/client": "0.17.1"
|
|
106
106
|
},
|
|
107
107
|
"engines": {
|
|
108
108
|
"node": ">=22"
|
package/src/sync-store/index.ts
CHANGED
|
@@ -748,26 +748,40 @@ export const createSyncStore = ({
|
|
|
748
748
|
traces: InternalTrace[];
|
|
749
749
|
cursor: number;
|
|
750
750
|
}> => {
|
|
751
|
-
const
|
|
751
|
+
const activeFilters = filters.filter((filter) =>
|
|
752
|
+
isFilterInBlockRange({ filter, fromBlock, toBlock }),
|
|
753
|
+
);
|
|
754
|
+
const logFilters = activeFilters.filter(
|
|
752
755
|
(f): f is LogFilter => f.type === "log",
|
|
753
756
|
);
|
|
754
|
-
const transactionFilters =
|
|
757
|
+
const transactionFilters = activeFilters.filter(
|
|
755
758
|
(f): f is TransactionFilter => f.type === "transaction",
|
|
756
759
|
);
|
|
757
|
-
const traceFilters =
|
|
760
|
+
const traceFilters = activeFilters.filter(
|
|
758
761
|
(f): f is TraceFilter => f.type === "trace",
|
|
759
762
|
);
|
|
760
|
-
const transferFilters =
|
|
763
|
+
const transferFilters = activeFilters.filter(
|
|
761
764
|
(f): f is TransferFilter => f.type === "transfer",
|
|
762
765
|
);
|
|
763
766
|
|
|
767
|
+
const logBlockRange = getFilterBlockRange({
|
|
768
|
+
filters: logFilters,
|
|
769
|
+
fromBlock,
|
|
770
|
+
toBlock,
|
|
771
|
+
});
|
|
772
|
+
const traceBlockRange = getFilterBlockRange({
|
|
773
|
+
filters: [...traceFilters, ...transferFilters],
|
|
774
|
+
fromBlock,
|
|
775
|
+
toBlock,
|
|
776
|
+
});
|
|
777
|
+
|
|
764
778
|
const shouldQueryBlocks = true;
|
|
765
779
|
const shouldQueryLogs = logFilters.length > 0;
|
|
766
780
|
const shouldQueryTraces =
|
|
767
781
|
traceFilters.length > 0 || transferFilters.length > 0;
|
|
768
782
|
const shouldQueryTransactions =
|
|
769
783
|
transactionFilters.length > 0 || shouldQueryLogs || shouldQueryTraces;
|
|
770
|
-
const shouldQueryTransactionReceipts =
|
|
784
|
+
const shouldQueryTransactionReceipts = activeFilters.some(
|
|
771
785
|
(filter) => filter.hasTransactionReceipt,
|
|
772
786
|
);
|
|
773
787
|
|
|
@@ -913,8 +927,14 @@ export const createSyncStore = ({
|
|
|
913
927
|
.where(
|
|
914
928
|
and(
|
|
915
929
|
eq(PONDER_SYNC.traces.chainId, BigInt(chainId)),
|
|
916
|
-
gte(
|
|
917
|
-
|
|
930
|
+
gte(
|
|
931
|
+
PONDER_SYNC.traces.blockNumber,
|
|
932
|
+
BigInt(traceBlockRange.fromBlock),
|
|
933
|
+
),
|
|
934
|
+
lte(
|
|
935
|
+
PONDER_SYNC.traces.blockNumber,
|
|
936
|
+
BigInt(traceBlockRange.toBlock),
|
|
937
|
+
),
|
|
918
938
|
or(
|
|
919
939
|
...traceFilters.map((filter) => traceFilter(filter)),
|
|
920
940
|
...transferFilters.map((filter) => transferFilter(filter)),
|
|
@@ -944,8 +964,8 @@ export const createSyncStore = ({
|
|
|
944
964
|
.where(
|
|
945
965
|
and(
|
|
946
966
|
eq(PONDER_SYNC.logs.chainId, BigInt(chainId)),
|
|
947
|
-
gte(PONDER_SYNC.logs.blockNumber, BigInt(fromBlock)),
|
|
948
|
-
lte(PONDER_SYNC.logs.blockNumber, BigInt(toBlock)),
|
|
967
|
+
gte(PONDER_SYNC.logs.blockNumber, BigInt(logBlockRange.fromBlock)),
|
|
968
|
+
lte(PONDER_SYNC.logs.blockNumber, BigInt(logBlockRange.toBlock)),
|
|
949
969
|
or(...logFilters.map((filter) => logFilter(filter))),
|
|
950
970
|
),
|
|
951
971
|
)
|
|
@@ -1481,6 +1501,43 @@ const addressFilter = (
|
|
|
1481
1501
|
return sql`true`;
|
|
1482
1502
|
};
|
|
1483
1503
|
|
|
1504
|
+
/**
|
|
1505
|
+
* @dev It's an invariant that the returned `fromBlock <= toBlock`.
|
|
1506
|
+
*/
|
|
1507
|
+
export const getFilterBlockRange = ({
|
|
1508
|
+
filters,
|
|
1509
|
+
fromBlock,
|
|
1510
|
+
toBlock,
|
|
1511
|
+
}: {
|
|
1512
|
+
filters: Pick<Filter, "fromBlock" | "toBlock">[];
|
|
1513
|
+
fromBlock: number;
|
|
1514
|
+
toBlock: number;
|
|
1515
|
+
}) => {
|
|
1516
|
+
if (filters.length === 0) return { fromBlock, toBlock };
|
|
1517
|
+
|
|
1518
|
+
const ranges = filters.map((filter) => ({
|
|
1519
|
+
fromBlock: Math.max(fromBlock, filter.fromBlock ?? fromBlock),
|
|
1520
|
+
toBlock: Math.min(toBlock, filter.toBlock ?? toBlock),
|
|
1521
|
+
}));
|
|
1522
|
+
|
|
1523
|
+
return {
|
|
1524
|
+
fromBlock: Math.min(...ranges.map((range) => range.fromBlock)),
|
|
1525
|
+
toBlock: Math.max(...ranges.map((range) => range.toBlock)),
|
|
1526
|
+
};
|
|
1527
|
+
};
|
|
1528
|
+
|
|
1529
|
+
const isFilterInBlockRange = ({
|
|
1530
|
+
filter,
|
|
1531
|
+
fromBlock,
|
|
1532
|
+
toBlock,
|
|
1533
|
+
}: {
|
|
1534
|
+
filter: Pick<Filter, "fromBlock" | "toBlock">;
|
|
1535
|
+
fromBlock: number;
|
|
1536
|
+
toBlock: number;
|
|
1537
|
+
}) =>
|
|
1538
|
+
(filter.fromBlock ?? Number.NEGATIVE_INFINITY) <= toBlock &&
|
|
1539
|
+
(filter.toBlock ?? Number.POSITIVE_INFINITY) >= fromBlock;
|
|
1540
|
+
|
|
1484
1541
|
export const logFilter = (filter: LogFilter): SQL => {
|
|
1485
1542
|
const conditions: SQL[] = [];
|
|
1486
1543
|
|
|
@@ -1498,15 +1555,6 @@ export const logFilter = (filter: LogFilter): SQL => {
|
|
|
1498
1555
|
|
|
1499
1556
|
conditions.push(addressFilter(filter.address, PONDER_SYNC.logs.address));
|
|
1500
1557
|
|
|
1501
|
-
if (filter.fromBlock !== undefined) {
|
|
1502
|
-
conditions.push(
|
|
1503
|
-
gte(PONDER_SYNC.logs.blockNumber, BigInt(filter.fromBlock!)),
|
|
1504
|
-
);
|
|
1505
|
-
}
|
|
1506
|
-
if (filter.toBlock !== undefined) {
|
|
1507
|
-
conditions.push(lte(PONDER_SYNC.logs.blockNumber, BigInt(filter.toBlock!)));
|
|
1508
|
-
}
|
|
1509
|
-
|
|
1510
1558
|
return and(...conditions)!;
|
|
1511
1559
|
};
|
|
1512
1560
|
|
|
@@ -1517,13 +1565,6 @@ export const blockFilter = (filter: BlockFilter): SQL => {
|
|
|
1517
1565
|
sql`(blocks.number - ${filter.offset}) % ${filter.interval} = 0`,
|
|
1518
1566
|
);
|
|
1519
1567
|
|
|
1520
|
-
if (filter.fromBlock !== undefined) {
|
|
1521
|
-
conditions.push(gte(PONDER_SYNC.blocks.number, BigInt(filter.fromBlock!)));
|
|
1522
|
-
}
|
|
1523
|
-
if (filter.toBlock !== undefined) {
|
|
1524
|
-
conditions.push(lte(PONDER_SYNC.blocks.number, BigInt(filter.toBlock!)));
|
|
1525
|
-
}
|
|
1526
|
-
|
|
1527
1568
|
return and(...conditions)!;
|
|
1528
1569
|
};
|
|
1529
1570
|
|
|
@@ -1535,17 +1576,6 @@ export const transactionFilter = (filter: TransactionFilter): SQL => {
|
|
|
1535
1576
|
);
|
|
1536
1577
|
conditions.push(addressFilter(filter.toAddress, PONDER_SYNC.transactions.to));
|
|
1537
1578
|
|
|
1538
|
-
if (filter.fromBlock !== undefined) {
|
|
1539
|
-
conditions.push(
|
|
1540
|
-
gte(PONDER_SYNC.transactions.blockNumber, BigInt(filter.fromBlock!)),
|
|
1541
|
-
);
|
|
1542
|
-
}
|
|
1543
|
-
if (filter.toBlock !== undefined) {
|
|
1544
|
-
conditions.push(
|
|
1545
|
-
lte(PONDER_SYNC.transactions.blockNumber, BigInt(filter.toBlock!)),
|
|
1546
|
-
);
|
|
1547
|
-
}
|
|
1548
|
-
|
|
1549
1579
|
return and(...conditions)!;
|
|
1550
1580
|
};
|
|
1551
1581
|
|
|
@@ -1559,17 +1589,6 @@ export const transferFilter = (filter: TransferFilter): SQL => {
|
|
|
1559
1589
|
conditions.push(isNull(PONDER_SYNC.traces.error));
|
|
1560
1590
|
}
|
|
1561
1591
|
|
|
1562
|
-
if (filter.fromBlock !== undefined) {
|
|
1563
|
-
conditions.push(
|
|
1564
|
-
gte(PONDER_SYNC.traces.blockNumber, BigInt(filter.fromBlock!)),
|
|
1565
|
-
);
|
|
1566
|
-
}
|
|
1567
|
-
if (filter.toBlock !== undefined) {
|
|
1568
|
-
conditions.push(
|
|
1569
|
-
lte(PONDER_SYNC.traces.blockNumber, BigInt(filter.toBlock!)),
|
|
1570
|
-
);
|
|
1571
|
-
}
|
|
1572
|
-
|
|
1573
1592
|
return and(...conditions)!;
|
|
1574
1593
|
};
|
|
1575
1594
|
|
|
@@ -1593,16 +1612,5 @@ export const traceFilter = (filter: TraceFilter): SQL => {
|
|
|
1593
1612
|
);
|
|
1594
1613
|
}
|
|
1595
1614
|
|
|
1596
|
-
if (filter.fromBlock !== undefined) {
|
|
1597
|
-
conditions.push(
|
|
1598
|
-
gte(PONDER_SYNC.traces.blockNumber, BigInt(filter.fromBlock!)),
|
|
1599
|
-
);
|
|
1600
|
-
}
|
|
1601
|
-
if (filter.toBlock !== undefined) {
|
|
1602
|
-
conditions.push(
|
|
1603
|
-
lte(PONDER_SYNC.traces.blockNumber, BigInt(filter.toBlock!)),
|
|
1604
|
-
);
|
|
1605
|
-
}
|
|
1606
|
-
|
|
1607
1615
|
return and(...conditions)!;
|
|
1608
1616
|
};
|