Closed Upaut1 closed 3 years ago
Issue not confirmed.
Функции getAmountsOut и getAmountsIn в SoyFinanceRouter.sol никак не проверяют маршрут на наличие повторяющихся адресов пар (пулов). При вызове этих функций на чтение я буду видеть сколько токенов я получу на выходе, но в действительности при реальных свопах маршрут с повторяющимися парами не пройдет, в пределах одной транзакции, разумеется. Такая транзакция будет отклонена. Если по правильному, то функции getAmountsOut и getAmountsIn, при чтении контракта, должны давать ошибку при использовании в маршруте повторяющихся пар, а не выводить данные которые в действительности не могут быть исполнены.
Функции getAmountsOut и getAmountsIn используются для вычисления предполагаемого результата (которые может и отличаться от реальности в зависимости от ситуации). Поэтому нельзя 100% полагаться на их результат.
Так как эта особенность не несет риска для пользователей, добавление дополнительной проверки на повторение в маршруте потребует дополнительных затрат газа при каждом обмене. Для минимизации расхода газа нет необходимости добавлять эту проверку.
Я Вас услышал. Тема закрыта.
The discussion of this issue is going on dedicated Telegram channel