Skip to content

Recovery Service

Файл: backend/src/services/recovery.rs

Сервис генерации и верификации BIP39 recovery-фраз. Используется при первичной настройке vault и при восстановлении доступа.

Эндпоинты

МетодПутьФункцияОписание
GET/api/recovery/generategenerate_recovery_phrase_svcГенерировать новую фразу
POST/api/recovery/verifyverify_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", ...]
}

Логика

  1. Вызывает RecoveryPhrase::generate() — генерирует 128 бит энтропии
  2. Возвращает фразу как строку и как массив слов
plantuml Diagram

verify_recovery_phrase_svc

POST /api/recovery/verify

Проверяет валидность BIP39 recovery-фразы (правильные слова из словаря, корректная контрольная сумма).

Параметры

ИмяТипОписание
wordsStringRecovery-фраза (12 слов через пробел)

Возвращает

Result<bool, String>

Логика

  1. Вызывает RecoveryPhrase::from_words(&words)
  2. Если парсинг успешен — true, иначе — false
plantuml Diagram