Как отследить изменение залогового статуса после перевода aToken Aave v3
Перевод aToken может вызвать проверки пула и изменение залоговых признаков. Индекс только по ERC-20 балансам способен оставить у отправителя видимость залога после перевода всей позиции.
Проследите finalizeTransfer для обеих сторон
На момент перевода проверьте ID резерва, сумму и прежние балансы обеих сторон. В эталонной реализации передача всего остатка может отключить залог отправителя после успешных проверок здоровья. Первый баланс получателя может включить залог при соблюдении условий.
A transfers its full aToken balance to B
pre-transfer collateral flags: A on, B off
inspect post-transfer flags and pool events for both accounts
В примере проверьте реальные события использования резерва как залога и конфигурацию A и B. Получатель не обязан наследовать настройку A: возможность зависит от резерва и других позиций B.
Различайте попытку и сохранённое изменение
При использовании позиции как залога отправитель может не пройти проверку здоровья, тогда перевод откатится. Учитывайте переводы себе и нулевые суммы по правилам развёрнутой версии. Сверяйте успешные квитанции, а не намерения из ожидающих транзакций. github.com SupplyLogic.sol