Как выбрать пул и оракул одного рынка Aave v3
В одной сети может быть несколько рынков Aave. Пул одного рынка и оракул другого способны дать правдоподобный, но неверный отчёт об инциденте.
Начните поиск с одного проверенного provider
Установите PoolAddressesProvider нужного развёртывания по проверенной конфигурации рынка. Задайте PROVIDER, BLOCK и RPC и прочитайте оба адреса через Foundry cast на блоке инцидента. Сохраняйте provider и chain ID вместе.
cast call "$PROVIDER" "getPool()(address)" --block "$BLOCK" --rpc-url "$RPC"
cast call "$PROVIDER" "getPriceOracle()(address)" --block "$BLOCK" --rpc-url "$RPC"
Если реализация пула обновилась за прежним прокси, события по-прежнему исходят от адреса прокси. Отдельная смена адреса оракула может изменить источник цены при неизменном адресе пула. Изучайте события provider вместе с историей реализации прокси.
Проверьте роли компонентов перед кэшированием
Убедитесь, что вызовы на нужной высоте действительно использовали эти компоненты рынка. Позже адрес может смениться, а другой рынок той же сети может иметь те же символы резервов. Кэшируйте адреса по provider и интервалу блоков действия. github.com PoolAddressesProvider.sol