Filter out publisher quotes with wide CIs #166
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.
We've had several instances where publishers have submitted prices that are far from everyone else, but with really wide CIs. The aggregation logic is robust to this case, so a single publisher doing this will not cause a problem. However, this particular problem happens frequently enough that I would like to deal with it in a better way.
In previous cases when this has happened, we have asked publishers to not provide a price if their spread / CI is too wide. E.g., the serum publisher implements this logic https://github.com/pyth-network/pyth-serum/blob/main/program/src/serum-pyth/serum-pyth.c#L266 .
However, it's a little silly that we keep asking publishers to do this when we can do it directly in the on-chain program. This change copies that serum publisher logic into the logic for updating a publisher's price.