This commit is contained in:
parent
c004ae50f3
commit
ea2d2453a5
@ -1069,7 +1069,13 @@ export class BaseProvider extends Provider implements EnsProvider {
|
||||
if (!event._inflight) {
|
||||
event._inflight = true;
|
||||
|
||||
// Filter from the last known event; due to load-balancing
|
||||
// This is the first filter for this event, so we want to
|
||||
// restrict events to events that happened no earlier than now
|
||||
if (event._lastBlockNumber === -2) {
|
||||
event._lastBlockNumber = blockNumber - 1;
|
||||
}
|
||||
|
||||
// Filter from the last *known* event; due to load-balancing
|
||||
// and some nodes returning updated block numbers before
|
||||
// indexing events, a logs result with 0 entries cannot be
|
||||
// trusted and we must retry a range which includes it again
|
||||
@ -1077,10 +1083,12 @@ export class BaseProvider extends Provider implements EnsProvider {
|
||||
filter.fromBlock = event._lastBlockNumber + 1;
|
||||
filter.toBlock = blockNumber;
|
||||
|
||||
// Prevent fitler ranges from growing too wild
|
||||
if (filter.toBlock - this._maxFilterBlockRange > filter.fromBlock) {
|
||||
filter.fromBlock = filter.toBlock - this._maxFilterBlockRange;
|
||||
}
|
||||
// Prevent fitler ranges from growing too wild, since it is quite
|
||||
// likely there just haven't been any events to move the lastBlockNumber.
|
||||
const minFromBlock = filter.toBlock - this._maxFilterBlockRange;
|
||||
if (minFromBlock > filter.fromBlock) { filter.fromBlock = minFromBlock; }
|
||||
|
||||
if (filter.fromBlock < 0) { filter.fromBlock = 0; }
|
||||
|
||||
const runner = this.getLogs(filter).then((logs) => {
|
||||
// Allow the next getLogs
|
||||
|
Loading…
Reference in New Issue
Block a user