Валюты:

Валюты добавляются вручную и необходимы для создания направлений обмена. У каждой валюты должен быть как минимум код и XML-код.

/api/currencies

Метод: GET
Описание: Запрашивает список валют.
Права доступа: ✅ Открыт для всех.
Параметры:

Ответ:

{
  "type": "success",
  "message": null,
  "data": [
    {
      "id": 1,
      "name": "Сбер RUB",
      "code": "RUB",
      "xmlCode": "SBERRUB",
      "fidelity": 3,
      "acctValidator": "RUB",
      "acctChain": "CARDLUNA",
      "isEnabled": true,
      "payin": "manual",
      "payinCode": "",
      "payinChain": "",
      "payout": "manual",
      "payoutCode": "",
      "payoutChain": ""
    }
  ],
  "action": null
}

Подробности:

/api/currencies

Метод: DELETE
Описание: Удаляет валюты по id.
Права доступа: 🔴 isAdminPanel + isEditCurrency.
Параметры: ids - список валют.
Ответ: Ответ:

{
  "type": "success",
  "message": "Удалены валюты: Bitcoin",
  "data": null,
  "action": null
}

/api/currency

Метод: PUT или POST
Описание: Добавляет новую валюту или изменяет существующую.
Права доступа: 🔴 isAdminPanel + isEditCurrency.

Запрос:

{
  "id": 1,
  "name": "Сбер RUB",
  "code": "RUB",
  "xmlCode": "SBERRUB",
  "fidelity": "2",
  "acctValidator": "RUB",
  "acctChain": "CARDLUNA",
  "isEnabled": true,
  "payin": "manual",
  "payinCode": "",
  "payinChain": "",
  "payout": "manual",
  "payoutCode": "",
  "payoutChain": ""
}

Подробности:

Ответ:

{
  "type": "success",
  "message": "Валюта Сбер RUB обновлена",
  "data": {
    "id": 1
  },
  "action": null
}

В ответе отправляется id для того, чтобы после добавления новой валюты можно было сразу же, следующим запросом, задать доп.поля. А еще id используется для обновления контекста на фронте в React, чтобы не загружать все валюты заново.

/api/currencies/getValidators

Метод: GET
Права доступа: 🟡 isAdminPanel.
Описание: Загружает список методов (валидаторов) для проверки адреса кошелька в формате "код валюты": "список сетей". Валидатор выявит ошибки - неполный адрес, неправильная последовательность символов.
Ответ:

{
  "type": "success",
  "message": null,
  "data": {    
    "DAI": [
      "AUTO",
      "BEP20",
      "ERC20"
    ],    
    "USDT": [
      "AUTO",
      "BEP20",
      "ERC20",
      "TRC20"
    ],
    "USD": [
      "CARDLUNA"
    ]
  },
  "action": null
}

/api/currency/{id}/validate/{address}

Метод: GET
Описание: Проверяет адрес кошелька на ошибки
Права доступа: ✅ Открыт для всех
Параметры:

Запрос: GET api/currency/1/validate/567567

Ответ:

{
  "type": "success",
  "message": "Адрес неправильный",
  "data": {
    "isPassed": false
  },
  "action": null
}

Подробности: isPassed - прошел ли данный адрес проверку.

Если валидатор не задан, получим:

Ответ:

{
  "type": "warning",
  "message": "Валидатор для валюты Евро не задан",
  "data": null,
  "action": null
}