Fixes case where contract chain events are never fetched

This commit is contained in:
Ben 2025-05-28 15:18:30 +02:00
parent 9af735e9df
commit 5944a0adec
No known key found for this signature in database
GPG Key ID: 0F16E812E736C24B

View File

@ -59,19 +59,22 @@ namespace TraceContract
var ignoreLog = new NullLog();
var chainState = new ChainState(ignoreLog, contracts, tracker, utc, false);
while (!tracker.IsFinished)
var atNow = false;
while (!tracker.IsFinished && !atNow)
{
utc += TimeSpan.FromHours(1.0);
if (utc > DateTime.UtcNow)
{
log.Log("Caught up to present moment without finding contract end.");
return DateTime.UtcNow;
utc = DateTime.UtcNow;
atNow = true;
}
log.Log($"Querying up to {utc}");
chainState.Update(utc);
}
if (atNow) return utc;
return tracker.FinishUtc;
}