Тестирование защиты вывода¶
Эта методичка помогает проверить защиту вывода без профессиональных тестовых навыков. Идите по шагам и отмечайте результат: получилось, не получилось, что именно увидели на экране.
Главное правило: все заявки на вывод проходят ручную проверку команды Saga перед отправкой средств. Быстрого автоматического вывода, пользовательских порогов и режимов защиты больше нет.
Не используйте реальные клиентские аккаунты и реальные крупные суммы для черновой проверки.
Что проверяем¶
- Пользователь вручную вводит адрес вывода.
- Любая заявка на вывод уходит на ручную проверку, независимо от суммы.
- Адрес можно заранее добавить и подтвердить по email для сверки менеджером.
- Адреса для сверки не блокируют создание вывода: неподтверждённый или новый адрес всё равно можно ввести вручную.
- Отмена вывода по email не выполняется при простом открытии ссылки.
- Ошибки показываются понятным текстом: ссылка недействительна, устарела или уже использована.
Что подготовить¶
- Доступ пользователя к
https://app.saga.fundили к согласованному тестовому стенду. - Тестовый пользователь с балансом, достаточным для небольшого вывода.
- Тестовый адрес кошелька в поддерживаемой сети.
- Доступ к email тестового пользователя.
- Согласованную тестовую сумму для проверки ручной проверки вывода.
Не отправляйте реальные средства на неподконтрольный адрес. Для production-проверки заранее согласуйте аккаунт, сумму, сеть и время проверки.
Сценарий 1. Проверить создание заявки на вывод¶
- Войдите в пользовательское приложение.
- Откройте форму вывода средств.
- Убедитесь, что в форме доступен ручной ввод адреса.
- Введите тестовый адрес вручную.
- Введите согласованную сумму вывода.
- Создайте заявку или остановитесь на последнем подтверждении, если реальный вывод не согласован.

Ожидаемый результат:
- Поле ручного адреса доступно.
- Подтверждённый адрес не обязателен для создания заявки.
- Пользователь видит, что заявка отправлена на ручную проверку.
- Заявка не выглядит как уже отправленная в блокчейн.
- В истории операций понятно, что вывод ожидает обработки или проверки.
Сценарий 2. Добавить адрес для сверки¶
- Откройте
Профиль. - Перейдите в раздел
Защита вывода. - Найдите блок
Адреса для сверки. - Выберите сеть.
- Введите тестовый адрес.
- Укажите понятное название, например
Binance Tron. - Сохраните адрес.
- Откройте письмо подтверждения.
- Перейдите по ссылке подтверждения.


Ожидаемый результат:
- Новый адрес появляется в списке для сверки.
- До подтверждения адрес помечен как ожидающий email.
- После перехода по email-ссылке открывается понятная страница результата.
- Подтверждённый адрес помечен как подтверждённый.
- Повторное использование той же ссылки показывает устаревшее или недействительное состояние.
- В интерфейсе не написано, что этот адрес является единственно разрешённым для вывода.
Сценарий 3. Проверить ручной ввод адреса при наличии адресов для сверки¶
- Добавьте и подтвердите адрес для сверки.
- Вернитесь в форму вывода.
- Проверьте поле адреса вывода.
- Введите адрес вручную: можно использовать тот же адрес или другой тестовый адрес в выбранной сети.
- Введите согласованную сумму.
- Создайте заявку или остановитесь на последнем подтверждении.
Ожидаемый результат:
- Форма не превращается в обязательный выбор из списка адресов.
- Ручной ввод адреса остаётся доступен.
- Система валидирует формат адреса для выбранной сети.
- Созданная заявка уходит на ручную проверку.
Сценарий 4. Проверить любую сумму как ручную проверку¶
- Откройте форму вывода.
- Введите маленькую согласованную сумму.
- Проверьте текст после создания заявки или перед финальным подтверждением.
- Повторите сценарий с другой согласованной суммой, если это разрешено ответственным оператором.
Ожидаемый результат:
- Для любой суммы пользователь видит ручную проверку команды Saga.
- Нет текстов про быстрый вывод, автоматическую отправку по порогу или задержку до конкретного времени.
- Заявка не выглядит как успешно отправленная в блокчейн до решения менеджера.
Сценарий 5. Проверить email-ссылку отмены вывода¶
- Создайте вывод, который ожидает ручной проверки.
- Откройте письмо об отменяемом выводе.
- Проверьте тему письма.
- Перейдите по ссылке отмены.
- Проверьте первый экран после открытия ссылки.
- Не нажимайте кнопку отмены сразу.
- Вернитесь в приложение и убедитесь, что заявка ещё не отменена.
- Снова откройте страницу отмены и нажмите явную кнопку отмены.

Ожидаемый результат:
- Тема письма выглядит как
Saga: запрос на вывод <сумма> <валюта>без приписки— отмена возможна. - Простое открытие ссылки не отменяет вывод.
- Сначала открывается страница подтверждения действия.
- На странице понятно написано, какой вывод будет отменён.
- Только явное нажатие кнопки отменяет заявку.
- После отмены повторное использование ссылки показывает недействительное или устаревшее состояние.
Сценарий 6. Проверить ошибки¶
Проверьте эти случаи отдельно:
- Неверный формат адреса: попробуйте ввести адрес другой сети. Ожидаемый результат — заявка не создаётся, показана ошибка формата адреса.
- Неподтверждённый адрес для сверки: попробуйте создать вывод на адрес, которого нет в списке. Ожидаемый результат — заявка создаётся на ручную проверку, если формат адреса корректный.
- Старая ссылка подтверждения адреса: повторно откройте использованную email-ссылку. Ожидаемый результат — показано, что ссылка недействительна или уже использована.
- Истёкшая ссылка: откройте ссылку после срока действия. Ожидаемый результат — показано, что ссылка устарела.
- Сетевая ошибка: повторите действие при недоступном API. Ожидаемый результат — показана ошибка и можно повторить действие позже.
Когда считать проверку успешной¶
Проверка успешна, если:
- вывод всегда использует ручной ввод адреса;
- все созданные выводы уходят на ручную проверку;
- адрес можно добавить и подтвердить по email для сверки;
- отсутствие подтверждённого адреса не блокирует создание заявки на вывод;
- заявку на вывод можно отменить из приложения или по email-ссылке;
- email-ссылка открывает страницу подтверждения, но не выполняет действие сама;
- повторные и устаревшие ссылки показывают понятное состояние;
- в интерфейсе нет старых текстов про быстрый вывод, пороги, режимы защиты, обязательный whitelist или задержку до конкретного времени;
- ошибки понятны обычному пользователю.
Если любой пункт не совпал, не повторяйте действия наугад. Запишите аккаунт, сумму, адрес, сеть, время проверки и текст ошибки, затем передайте это разработчику или ответственному оператору.