fix: do not skip known indexes in price data table #71
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 attempts to fix the setting of
LastTickIndex1To0
values in thederived.tx_price_data
table.Previously an update would be skipped if the price on the specific reserve's side TickIndex (
HighestNormalizedTickIndex0
orLowestNormalizedTickIndex1
had not changed) had not changed. This is incorrect behavior.The original intent of the
HighestNormalizedTickIndex0
andLowestNormalizedTickIndex1
values was to create a "indicative price" of the pair where a reserve deposit that was "closer to the middle" than any other deposit or previous trade would indicate that the price had changed to that value. This was supposed to be helpful but is not that helpful. It may also even introduce attack vectors where users can influence the recorded price with small deposits at extreme positions.It is much simpler to keep the definition of price as the last price that a trade occurred on, without accepting prices from any deposit events.
After removing the previous logic, the previous data columns for tracking
HighestNormalizedTickIndex0
andLowestNormalizedTickIndex1
values were removed.