fix: rate limits and block timestamps #96
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes two problems:
rate limits: This lazily solves our rate limiting issues when using infura to process the epoch. In the future we may want to introduce a retry mechanism with delay which would be a much more resilient solution.
start / end block bug: previously we could end up in a state where we never would find the ideal block and instead oscillate between blocks indefinitely. This resolves that issue. One note is that this is not a deterministic process and its possible to process the same epoch again and select a different end block that is still the correct timestamp.