-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MaxFilterResults is applied before filtering for eth logs #12636
Comments
@rvagg Proposed a solution for this at https://filecoinproject.slack.com/archives/CP50PPW2X/p1729778184348849. |
Some thoughts I jotted down in that thread, here for the record:
I also think we should error in the eth APIs if we go over max, not having a signal for users makes for a big footgun. But let's deal with that separately. |
A great first step that will get us most of the way there is to add a "filter for Raw codec" condition to every query made by all the ETH Event APIs. |
Noticed by @ArseniiPetrovich:
and
i.e. extending the range of epochs while leaving the start of the range static drops events from the front of the list.
This is because we apply
MaxFilterResults
max (the invisible cap) before filtering for eth events, not after.For that same block range:
10000
is the default value forMaxFilterResults
.MaxFilterResults
. The fact that you can't know is a big problem. The best signal you have is if you hit 10,000 events returned. I'd like to build pagination intoGetActorEvents
(maybe notRaw
) but we can't do that for eth APIs, the user has to have a clear way of knowing that they need to craft finer filters. go-ethereum might have a precedent here that we should investigate.The text was updated successfully, but these errors were encountered: