Update price feeds early if part of a batch #905
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.
I was looking at the sui pusher's txs and I noticed that it currently only updates a subset of the price feeds in the pushed VAA. This behavior is an interaction between the structure of the sui contract (with the hot potato etc) and the price pusher.
I'm fixing this problem by adding a feature we'll want anyway, which is to piggyback additional price updates on to a push. With accumulators, it's very cheap to add an additional update to an existing price push, so we'll want to take advantage of this by pushing more feeds than just the ones that met the triggering conditions.
This PR adds an extra set of triggering conditions for an early update. If at least one feed meets the normal triggering conditions, we'll push a batch of updates that includes the original update + all feeds meeting the early update conditions. Using this, we can also set early_update.time_difference = 0 in the sui config to solve the specific problem as well.
I haven't been able to run this since testnet is down, but i will make sure it works before merging.