Коротко: после частичного погашения долга проверьте подтверждённую транзакцию, остаток долга, баланс залога и health factor на одном и том же блоке. Погашение уменьшает обязательство, но обычно не снимает залог автоматически. Остаток может отличаться от введённой суммы из-за начисленных процентов, округления и действий протокола. Не считайте предварительный экран кошелька окончательным состоянием позиции.
Что меняется после repayment
В кредитном протоколе залог и долг учитываются отдельно. Погашение переводит заёмный актив обратно в пул и сокращает обязательство пользователя. Баланс обеспечения при этом обычно остаётся прежним, пока не выполнена отдельная операция вывода. В документации Aave частичное или полное погашение снижает долг и улучшает health factor, а возврат залога становится доступен после полного погашения в соответствующем сценарии.
Точное поведение зависит от протокола, рынка и типа долга. Например, переменный долг может изменяться из-за процентов между чтениями. Позиция с несколькими залогами может иметь общий health factor, зависящий от цен и параметров каждого актива. Не делайте вывод по одному полю баланса или подписи транзакции – изучите состояние до и после исполнения.
Остаток долга не обязательно равен простой разнице между прежним числом и суммой, которую вы указали. На него влияют начисление процентов, точность токена, округление контракта и момент фиксации состояния. Если транзакция прошла через агрегатор или обёрнутый актив, она может содержать несколько инструкций и дополнительный обмен. Сначала выясните, какой актив фактически поступил протоколу.
Сверьте транзакцию и адреса
Откройте transaction hash в обозревателе правильной сети. Убедитесь, что статус успешный, а адрес взаимодействия принадлежит ожидаемому пулу. Сверьте отправителя, актив погашения, получателя и сумму. Если подписывались несколько операций, прочитайте все инструкции: разрешение токенов, обмен, погашение и возможный вывод залога могут идти в одной транзакции.
Для ERC-20 проверьте allowance, если протокол использовал предварительное разрешение на перевод. Одобрение токена не означает, что займ погашен: важен успешный вызов repay и изменение состояния долга. Не путайте баланс в кошельке с суммой, которую получил контракт после конвертации или обёртывания. Для технической проверки читайте события и внутренние вызовы, а не только короткий статус в приложении.
Если транзакция упала или была заменена, проверьте финальное состояние аккаунта и хэш последней операции. Не повторяйте погашение наугад: первая транзакция могла быть обработана с другой суммой, а экран ещё не обновился. Дайте обозревателю завершить индексацию, затем обновите данные на новом подтверждённом блоке.
Проверьте остаток долга
Найдите долг по каждому активу отдельно. В Aave долг отражается через debt token и чтение состояния позиции, а другие протоколы могут использовать иные контракты. Для каждого займа сверьте токен, сеть и рынок. Если долг был в нескольких монетах, погашение одного актива не уменьшает автоматически остальные обязательства.
Сравните баланс debt token или соответствующий view-вызов до и после транзакции. Для переменного долга число может меняться по мере начисления процентов. Важно сравнивать состояние на зафиксированных блоках, а не копировать значения из разных страниц с разным временем чтения. Запишите блок, сумму операции и остаток долга, чтобы повторить расчёт.
Убедитесь, что repayment относится к правильному владельцу позиции. Некоторые протоколы допускают погашение за другого пользователя или используют credit delegation. Тогда отправитель средств и заёмщик могут быть разными адресами. Проверьте поле onBehalfOf, beneficiary или аналогичный параметр по исходному коду и документации. Ошибка в адресе может привести к тому, что вы оплатите чужой долг, не изменив собственную позицию.
Убедитесь, что залог остался на месте
После частичного погашения проверьте collateral balances и флаги использования актива как обеспечения. В Aave supplied assets представлены aToken-балансом; в другой системе это может быть запись в позиции или внутреннем хранилище. Сопоставьте состояние аккаунта на блоке до погашения и после. Если залог неожиданно уменьшился, изучите всю транзакцию и выясните, была ли там инструкция withdraw или перевод.
Сам факт, что баланс отображается в интерфейсе, не говорит, что весь актив продолжает участвовать в обеспечении. Пользователь мог отключить collateral, вывести часть средств или переместить токен в иной vault. Проверяйте включённый статус обеспечения и ограничения конкретного рынка. Для понимания исходного лимита и порога пригодится материал о проверке лимита займа и порога ликвидации.
Если после repayment вы намерены снять часть залога, это отдельное действие и отдельная проверка риска. Сначала смоделируйте новый health factor с учётом планируемого вывода и текущей цены оракула. Не полагайтесь на то, что протокол отклонит любую опасную операцию без последствий: некоторые стратегии могут изменить состояние между симуляцией и включением транзакции.
Пересчитайте health factor
Погашение долга обычно повышает health factor, поскольку знаменатель формулы становится меньше при прочих равных. Но результат зависит и от цены залога, цены заёмного актива, весов liquidation threshold, начисленных процентов и настройки режима. Если цена оракула изменилась одновременно с транзакцией, итоговый показатель может отличаться от ожидаемого по арифметике.
Читайте health factor на том же блоке, что и остаток долга и залог. Затем сравните новый показатель с исходным и убедитесь, что он изменился в ожидаемом направлении. Руководство о health factor и запасе до ликвидации объясняет, как трактовать этот показатель. Не существует универсального уровня, который гарантирует отсутствие риска для всех наборов активов.
Если показатель ухудшился после погашения, не делайте вывод сразу, что транзакция прошла неверно. Проверьте цены оракула, изменение стоимости залога, активные режимы, другие займы и начисление процентов. Также убедитесь, что интерфейс не показывает старое или округлённое значение. Для диагностики источника цены используйте инструкцию по проверке oracle.
Что сделать, если значения расходятся
Сначала установите точный блок и контракт рынка. Проверьте receipt, события repay, внутренние вызовы и параметры операции. Затем прочитайте баланс долга, залога и health factor через официальный контракт или надёжный интерфейс. Если данные обозревателя и приложения расходятся, проверьте адрес сети, decimals, индексатор и задержку обновления.
Не подписывайте повторный вызов только потому, что интерфейс показывает старый долг. Сверьте allowance, фактический остаток токена и статус уже отправленной транзакции. Если позиция обслуживается через автоматизированный менеджер или кредитный vault, проверьте также его собственное состояние. Может оказаться, что вы погасили долг в базовом протоколе, но приложение обновляет сводный экран позже.
Краткий чек-лист
Успешная транзакция; правильные сеть и пул; совпадение отправителя и адреса заёмщика; фактическая сумма repayment; уменьшение долга по нужному активу; прежний баланс залога и статус collateral; пересчитанный health factor на том же блоке; отсутствие неожиданного withdraw или обмена. Сохраните ссылки на транзакцию и аккаунты, чтобы повторно проверить состояние.
Погашение может уменьшить риск ликвидации, но не устраняет волатильность цены, процентные изменения и риск самого протокола. Если остаток долга неожиданен или обеспечение изменилось без ясной причины, остановите следующие операции и сначала разберите вызовы. Проверка пост-состояния – надёжнее предположения, что транзакция сделала именно то, что обещала короткая подпись интерфейса.



