The MultiHopOracle
works by having internally N oracle feed by which it hops. For it to work feeds should be like:
If this continuity is broken somewhere the whole calculation will be wrong.
However, it is never checked if every next feed/hop is connected to the previous one (whether the quote token of the previous feed is equal to the base token of the current one).
This can easily be missed out and wrong input data can be easily provided without a way to see that the information is wrong.
Let's have the following MultiHopOracle
setup:
As we can see the right feeds are used but their order is incorrect. This will lead to a completely wrong calculation of price and can be dangerous to use as it will lead to losses.
Wrong oracle results and losses.
Manual Review
Supply as additional data base token name and quote token name of each "hop" to be able to check that after the oracle is deployed.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.