Модуль x/swapвыполняет функции обмена токенов с ликвидностью в x/liquiditypoolмодуле.
Вознаграждения за плату провайдеру интерфейса
Любое фронтенд-приложение, построенное поверх модуля подкачки, имеет возможность зарабатывать комиссию. Как это делается?
Следует отметить два важных параметра:
interface_fee_rate: Комиссия, выраженная в процентах, которая взимается с общей суммы свопа.
interface_provider: Адрес, который указывает, куда будет отправлена плата. Если адрес не указан, плата за интерфейс не взимается.
Поменять типы сообщений
Существует 2 типа сообщений, которые можно использовать для указания полученной или отправленной суммы.
MsgSwapExactAmountIn– Обмен токенов с указанной суммой ввода
Это сообщение позволяет пользователям обменивать токены, определяя точное количество входных токенов, которые они хотят предоставить. Соответствующий выход будет рассчитан на основе указанного входа.
MsgSwapExactAmountOut– Обмен токенов с указанной суммой вывода
Это сообщение позволяет пользователям обменивать токены, определяя точное количество выходных токенов, которые они хотят получить. Система рассчитает необходимое количество входных данных для достижения желаемого выхода.
В этом сценарии происходит передача токена, за которой следует обмен, но переадресация в другую цепочку не производится.
Обмен с пересылкой
В этом сценарии токен передается, обменивается, а затем пересылается в другую цепочку.
Обмен с возвратом излишков и пересылкой
Когда своп указывает точную сумму выхода, любой избыточный вход автоматически возвращается. После свопа оставшиеся токены перенаправляются в другую цепочку.
Обработка адреса получателя
После обмена, даже если последующее изменение или перевод не удастся, подтверждение «перевода токена X» всегда будет успешным. Обмененные токены остаются на счете получателя.