Как выбрать пул и оракул одного рынка 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