fix: handle direct aggregators in price oracle indexing #157
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.
Fix: Support Direct Chainlink Aggregators Without Proxy Wrapper
Problem
Multiple assets have
priceInEth: "0"in the subgraph despite having valid on-chain oracle prices. This affects:Root cause: Code assumes all price feeds use
EACAggregatorProxypattern (proxy → aggregator), but some assets use direct aggregator addresses without a proxy wrapper. Whenaggregator()call reverts, the handler exits early without savingpriceSource.Location:
src/mapping/proxy-price-provider/v3.ts:148-160Current Behavior
Fix
Handle both patterns - proxy and direct aggregator:
Evidence
On-chain data exists (Dune query):
Subgraph shows missing prices:
{ reserves { symbol price { priceInEth } } }{ "symbol": "PT-sUSDE-27MAR2025", "price": { "priceInEth": "0" } }, { "symbol": "WBTC", "price": { "priceInEth": "0" } }, { "symbol": "wstETH", "price": { "priceInEth": "0" } } // ... 20+ more assets with priceInEth: "0"Impact
Files Changed:
src/mapping/proxy-price-provider/v3.ts(lines 148-165)