Эта страница переведена автоматически. Оригинал на английском языке является каноническим. Читать на английском →
Перейти к основному содержимому

Ранбуки

Полный чек-лист готовности деска и сертификационные интеграционные тесты.

Чек-лист готовности деска​

Перед запуском убедитесь, что:

Подключение к API​

  • Настроены продакшн-эндпоинты
  • Эндпоинт проверки работоспособности (health check) отвечает
  • WebSocket-соединение стабильно

Аутентификация​

  • Подпись EIP-712 работает
  • Настроена авторизация агента (если применимо)
  • Реализовано управление nonce
  • Проверка подписи протестирована

Система котирования​

  • Протестировано массовое выставление заявок
  • Проверена сверка жизненного цикла заявок
  • Реализовано отслеживание исполнений
  • Протестирована отмена заявок

Риск-контроль​

  • MMP настроен и протестирован
  • Модель маржи понятна
  • Ограничения уровня (tier) проверены
  • Реализован мониторинг портфеля

Мониторинг​

  • Оформлена подписка на WebSocket-фиды
  • Сверка заявок и исполнений автоматизирована
  • Настроены проверки работоспособности
  • Настроены алерты

Аварийный выключатель (kill switch)​

  • Возможность отменить все заявки
  • Возможность немедленно отключиться
  • Аварийные процедуры задокументированы

Хеджирование​

  • Проверена интеграция с перпами Hyperliquid
  • Реализована стратегия дельта-хеджирования
  • Расчёт маржи по перпам понятен

Расчёт​

  • Протестирована обработка экспирации
  • Проверен расчёт по позициям
  • Понятен источник референсной цены

Сертификационные интеграционные тесты​

Тест 1: Выставление заявки​

Шаги:

  1. Выставьте одну заявку через POST /order
  2. Убедитесь, что статус в ответе на заявку ACKED или OPEN
  3. Проверьте, что заявка отображается в GET /orders?wallet=...
  4. Убедитесь, что получено сообщение WebSocket order_updates

Ожидаемый результат: заявка успешно выставлена, обновления статуса получены

Тест 2: Массовое выставление заявок​

Шаги:

  1. Выставьте 10 заявок через POST /bulk_order
  2. Убедитесь, что все заявки приняты
  3. Проверьте статусы заявок через REST и WS
  4. Убедитесь в отсутствии ошибок подписи и авторизации

Ожидаемый результат: все заявки успешно выставлены

Тест 3: Отслеживание исполнений​

Шаги:

  1. Выставьте заявку, которая будет исполнена
  2. Отслеживайте канал WebSocket fills
  3. Убедитесь, что исполнение получено с корректным order_id
  4. Проверьте, что исполнение отображается в GET /fills?wallet=...
  5. Убедитесь, что статус заявки сменился на FILLED

Ожидаемый результат: исполнения отслеживаются корректно, статус заявки обновлён

Тест 4: Отслеживание частичных исполнений​

Шаги:

  1. Выставьте заявку, которая будет исполнена частично
  2. Отслеживайте каналы WebSocket fills и order_updates
  3. Убедитесь, что частичное исполнение пришло в fills
  4. Убедитесь, что order_updates сообщает PARTIALLY_FILLED с накопленным filled_size
  5. Агрегируйте исполнения по order_id и проверьте, что сумма равна filled_size

Ожидаемый результат: объёмы по каждому исполнению приходят в fills, накопленный исполненный объём в order_updates

Тест 5: Отмена заявки​

Шаги:

  1. Выставьте заявку через POST /order
  2. Отмените заявку через DELETE /order
  3. Убедитесь, что статус заявки CANCELED
  4. Проверьте, что получено сообщение WebSocket order_updates

Ожидаемый результат: заявка успешно отменена, обновления статуса получены

Тест 6: Срабатывание MMP​

Шаги:

  1. Настройте MMP через подписанный POST /mmp-config. Передайте X-Hypercall-Fence-Wait: 1, если клиент сразу же будет читать проекцию, и сохраните возвращённое значение X-Hypercall-Fence.
  2. Выставьте заявки с включённым MMP
  3. Спровоцируйте срабатывание MMP, превысив лимиты
  4. Убедитесь, что заявки отменены с причиной MMP
  5. Проверьте, что остальные заявки с включённым MMP также отменены

Ожидаемый результат: MMP срабатывает корректно, заявки отменены

Чтение конфигурации MMP также требует аутентификации. Подпишите GetMmpConfig и передайте срок действия и подпись в заголовках X-Hypercall-Expires-At-Ms и X-Hypercall-Signature. Передайте в этом GET-запросе значение X-Hypercall-Fence из ответа на запись, чтобы дождаться именно этой зафиксированной конфигурации. Запись без X-Hypercall-Fence-Wait: 1 намеренно не возвращает заголовок fence.

Тест 7: Отклонение по марже​

Шаги:

  1. Выставьте заявку, превышающую доступную маржу
  2. Убедитесь, что заявка отклонена с причиной "Insufficient margin"
  3. Проверьте, что причина отклонения содержит значения требуемой маржи, капитала (equity) и дефицита
  4. Убедитесь, что статус заявки REJECTED

Ожидаемый результат: заявка отклонена с понятной причиной

Тест 8: Ограничение уровня​

Шаги:

  1. Используйте кошелёк, уровень которого допускает только покрытые продажи (проверьте GET /risk/limits?wallet=...)
  2. Попробуйте выставить заявку на продажу без длинной позиции
  3. Убедитесь, что заявка отклонена с причиной, связанной с уровнем
  4. Выставьте заявку на покупку (должна пройти)
  5. Выставьте заявку на продажу для закрытия позиции (должна пройти)

Ожидаемый результат: ограничения уровня применяются корректно

Тест 9: Переподключение WebSocket​

Шаги:

  1. Подключитесь к WebSocket
  2. Подпишитесь на каналы
  3. Разорвите WebSocket-соединение
  4. Переподключитесь с экспоненциальной задержкой (backoff)
  5. Повторно подпишитесь на каналы
  6. Опросите REST, чтобы получить пропущенные обновления

Ожидаемый результат: переподключение работает, состояние восстановлено

Тест 10: Сверка портфеля​

Шаги:

  1. Выставьте заявки и добейтесь их исполнения
  2. Проверьте портфель через GET /portfolio?wallet=...
  3. Убедитесь, что позиции соответствуют исполнениям
  4. Проверьте корректность использования маржи
  5. Сверьтесь с обновлениями WebSocket portfolio

Ожидаемый результат: состояние портфеля точное, сверка успешна

Готовность к продакшну​

Чек-лист перед продакшном​

  • Все интеграционные тесты пройдены
  • Мониторинг и алерты настроены
  • Аварийный выключатель протестирован
  • Аварийные процедуры задокументированы
  • Команда обучена реагированию на инциденты
  • Определены контакты поддержки

Чек-лист запуска​

  • Сертификационные тесты пройдены в продакшне на малом объёме
  • Продакшн-эндпоинты проверены
  • Дашборды мониторинга готовы
  • Алерты настроены
  • Составлен график дежурств команды
  • Документация проверена

Ссылки​