Обмен

Модуль x/swapвыполняет функции обмена токенов с ликвидностью в x/liquiditypoolмодуле.

Вознаграждения за плату провайдеру интерфейса

Любое фронтенд-приложение, построенное поверх модуля подкачки, имеет возможность зарабатывать комиссию. Как это делается?

Следует отметить два важных параметра:

  • interface_fee_rate: Комиссия, выраженная в процентах, которая взимается с общей суммы свопа.

  • interface_provider: Адрес, который указывает, куда будет отправлена ​​плата. Если адрес не указан, плата за интерфейс не взимается.


Поменять типы сообщений

Существует 2 типа сообщений, которые можно использовать для указания полученной или отправленной суммы.

MsgSwapExactAmountIn– Обмен токенов с указанной суммой ввода

Это сообщение позволяет пользователям обменивать токены, определяя точное количество входных токенов, которые они хотят предоставить. Соответствующий выход будет рассчитан на основе указанного входа.

MsgSwapExactAmountOut– Обмен токенов с указанной суммой вывода

Это сообщение позволяет пользователям обменивать токены, определяя точное количество выходных токенов, которые они хотят получить. Система рассчитает необходимое количество входных данных для достижения желаемого выхода.


message RoutePool {
  uint64 pool_id = 1;
}

message RouteSeries {
  repeated Route routes = 1 [
    (gogoproto.nullable)   = false,
    (amino.dont_omitempty) = true
  ];
}

message RouteParallel {
  repeated Route routes = 1 [
    (gogoproto.nullable)   = false,
    (amino.dont_omitempty) = true
  ];
  repeated string weights = 2 [
    (cosmos_proto.scalar)  = "cosmos.Dec",
    (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec",
    (gogoproto.nullable)   = false,
    (amino.dont_omitempty) = true
  ];
}

message Route {
  string denom_in = 1;
  string denom_out = 2;
  oneof strategy {
    RoutePool pool = 3;
    RouteSeries series = 4;
    RouteParallel parallel = 5;
  }
}

Своп промежуточного программного обеспечения для передачи токенов ICS20

Функция обмена может быть автоматически активирована пакетами передачи токенов ICS20.

Метаданные

В поле пакета передачи ICS20 PacketMetadataнеобходимо поместить сериализованную строку JSON.memo

Является ForwardMetadataпроизводным от промежуточного программного обеспечения Packet Forwardarrow-up-right . Диаграммы последовательности Базовый обмен без пересылки

В этом сценарии происходит передача токена, за которой следует обмен, но переадресация в другую цепочку не производится. Обмен с пересылкой

В этом сценарии токен передается, обменивается, а затем пересылается в другую цепочку. Обмен с возвратом излишков и пересылкой

Когда своп указывает точную сумму выхода, любой избыточный вход автоматически возвращается. После свопа оставшиеся токены перенаправляются в другую цепочку.

Обработка адреса получателя

После обмена, даже если последующее изменение или перевод не удастся, подтверждение «перевода токена X» всегда будет успешным. Обмененные токены остаются на счете получателя.

Более подробную информацию смотрите на Github .arrow-up-right

Last updated