Как определить источник цены эталонного оракула Aave v3
Наличие настроенного источника ещё не означает использование его ответа. Эталонный AaveOracle может вернуть единицу базовой валюты либо обратиться к резервному источнику при отсутствии основного или неположительном ответе.
Воспроизведите выбранную ветку на одной высоте
Прочитайте BASE_CURRENCY и BASE_CURRENCY_UNIT, источник актива и fallback oracle. Для базовой валюты эталон возвращает её единицу. Для другого актива с настроенным источником прочитайте его ответ на том же блоке.
asset X has source S
S.latestAnswer() = 0
reference AaveOracle reads fallbackOracle.getAssetPrice(X)
В примере нулевой ответ включает резервный источник. Сравнение цены пула с нулём ошибочно покажет расхождение. Откат вызова источника отличается от возврата нуля: проверьте фактический исход вызова.
Уточните проверку свежести в самом источнике
В этой реализации положительный ответ может использоваться без независимой проверки времени внешним оракулом. За адресом источника может стоять адаптер с собственными условиями. Изучите его до выводов о свежести и происхождении данных. github.com AaveOracle.sol