Recovery Service
Файл:
backend/src/services/recovery.rs
Сервис генерации и верификации BIP39 recovery-фраз. Используется при первичной настройке vault и при восстановлении доступа.
Эндпоинты
| Метод | Путь | Функция | Описание |
|---|---|---|---|
| GET | /api/recovery/generate | generate_recovery_phrase_svc | Генерировать новую фразу |
| POST | /api/recovery/verify | verify_recovery_phrase_svc | Верифицировать фразу |
Зависимости
Нет внешних зависимостей — использует внутренний модуль RecoveryPhrase (BIP39).
generate_recovery_phrase_svc
GET /api/recovery/generate
Генерирует новую BIP39 recovery-фразу (12 слов) с использованием криптографически безопасного генератора случайных чисел.
Возвращает
Result<RecoveryPhraseResponse, String>
json
{
"words": "abandon ability able about above absent absorb abstract absurd abuse access accident",
"word_list": ["abandon", "ability", "able", ...]
}Логика
- Вызывает
RecoveryPhrase::generate()— генерирует 128 бит энтропии - Возвращает фразу как строку и как массив слов
verify_recovery_phrase_svc
POST /api/recovery/verify
Проверяет валидность BIP39 recovery-фразы (правильные слова из словаря, корректная контрольная сумма).
Параметры
| Имя | Тип | Описание |
|---|---|---|
words | String | Recovery-фраза (12 слов через пробел) |
Возвращает
Result<bool, String>
Логика
- Вызывает
RecoveryPhrase::from_words(&words) - Если парсинг успешен —
true, иначе —false