Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Предзаказ обмена

Сначала необходимо получить квоту (информацию о цене, по которой в течение последующих 10 секунд можно будет обменять деньги).
Для этого используем:

mutation {
  getSwapQuote(
      marketId: String!,
      from: String!,
      to: String!,
      # direction can be 'to' or 'from'                    
      direction: String!,
      amount: String!
  ): SwapQuote
}

Обратите внимание, параметр direction помогает указать в какой валюте указывается amount - во входящей или исходящей.

Пример 1.

Я хочу поменять 100 USDT на ETH запрос будет выглядеть:

mutation {
  swapQuote(
    from: "USDT",
    to: "ETH",
    marketId: "ETH-USDT",
    direction: "from",
    amount: "100"
  ) {
    id
    serviceId
    from
    to
    direction
    amount
    give
    receive
    rate
    internalGive
    internalReceive
    expireAt
    status
    isActive
    isErrored
  }
}

Пример 2.

Я хочу поменять USDT и получить в результате 0.001 ETH запрос будет выглядеть:

mutation {
  swapQuote(
    from: "USDT",
    to: "ETH",
    marketId: "ETH-USDT",
    direction: "to",
    amount: "0.001"
  ) {
    id
    serviceId
    from
    to
    direction
    amount
    give
    receive
    rate
    internalGive
    internalReceive
    expireAt
    status
    isActive
    isErrored
  }
}

Параметры из ответа:

give - сколько клиент должен будет заплатить без учета комиссии нашей системы (приблизительно, если direction = “to” и точно, если direction = “from”)

receive - сколько клиент получит без учета комиссии нашей системы (приблизительно, если direction = “from” и точно, если direction = “to”)

rate - receive / give

internalGive - сколько клиент заплатит с учетом нашей комиссии (приблизительно если direction = “to” и точно, если direction = “from”)

internalReceive - сколько клиент получит без учета комиссии нашей системы (приблизительно, если direction = “from” и точно, если direction = “to”)

expireAt - время, когда текущая квота утратит свою актуальность.

Обмен

После принятия клиентом решения об обмене (если попадаем в 10секундный интервал) используется следующий:

mutation {
  confirmSwapQuote(id: String!): SwapQuote
}

Передаем id квоты, serviceId, marketId

  • No labels