Client: состояния интерфейса
Показывать известный результат и безопасное следующее действие.
Feature: Неизвестный остаток
Scenario: Неизвестный остаток
Given загрузка остатков завершилась ошибкой
When участник открывает кошелек
Then ошибка отделена от нулевого остатка
And интерфейс не предлагает покупку на основании выдуманных данныхОтветственность
apps/client отвечает за формы, навигацию, представление состояний и вызов контрактов. Сервер остается владельцем допуска и финансового результата. Кошелек, условия размещения, заявка и реестр оператора имеют разные задачи; служебные подробности не смешиваются с обычным пользовательским действием.
Приемка поверхности
Проверяются загрузка, отсутствие данных, ошибка, ожидание транзакции и подтвержденный результат; доступный и зарезервированный остаток различаются. Длинные адреса не разрывают строку посимвольно; сокращение сохраняет доступ к полному значению. Условия, сумма и ограничения видны до подтверждения. Дизайн-токены принадлежат общим стилям и shared/ui; локальная копия компонентов не становится вторым стандартом. Проверка экрана не подтверждает банк, УКЭП или финансовый цикл. Источники: apps/client/src; продуктовые принципы, инструкции.