**Motivations:** - Add new features and fixes for userwallet application - Update documentation for pairing, login state machine, and sync - Add new utilities for bloom filters, nonce store, and contract versioning - Fix mempool websocket offline issues **Root causes:** - N/A (feature additions and improvements) **Correctifs:** - Fix mempool websocket offline handling - Update ESLint configuration **Evolutions:** - Add login state machine service and hook - Add sync loop service - Add bloom filter utilities for anti-replay and state visibility - Add nonce store and contract version utilities - Update pairing confirmation and graph resolver services - Add new documentation for features and fixes - Update userwallet components (LoginScreen, SyncScreen) - Update types for contract, identity, and messages **Pages affectées:** - userwallet/src/components/LoginScreen.tsx - userwallet/src/components/SyncScreen.tsx - userwallet/src/hooks/useChannel.ts - userwallet/src/hooks/useLoginStateMachine.ts (new) - userwallet/src/services/graphResolver.ts - userwallet/src/services/pairingConfirm.ts - userwallet/src/services/syncService.ts - userwallet/src/services/syncLoop.ts (new) - userwallet/src/services/loginStateMachine.ts (new) - userwallet/src/types/contract.ts - userwallet/src/types/identity.ts - userwallet/src/types/message.ts - userwallet/src/utils/canonical.ts - userwallet/src/utils/identity.ts - userwallet/src/utils/indexedDbStorage.ts - userwallet/src/utils/relay.ts - userwallet/src/utils/verification.ts - userwallet/src/utils/bloom.ts (new) - userwallet/src/utils/contractVersion.ts (new) - userwallet/src/utils/nonceStore.ts (new) - userwallet/eslint.config.mjs - userwallet/package.json - userwallet/package-lock.json - userwallet/docs/synthese.md - userwallet/docs/specs-champs-obligatoires-cnil.md (new) - api-relay/README.md - features/userwallet-pairing-words-only-finalise.md - features/userwallet-anti-rejeu-etats-visibles-bloom.md (new) - features/userwallet-bloom-usage-sync.md (new) - features/userwallet-contrat-login-reste-a-faire.md (new) - features/userwallet-ecrans-login-a-valider.md (new) - features/userwallet-eslint-fix.md (new) - features/userwallet-login-state-machine.md (new) - features/userwallet-validation-conformite.md (new) - fixKnowledge/mempool-websocket-offline-fix.md (new) - mempool (submodule) - hash_list.txt - hash_list_cache.txt
12 lines
1.2 KiB
Markdown
12 lines
1.2 KiB
Markdown
# Pairing mots seuls — finalisation
|
|
|
|
**Objectif :** Finaliser le pairing 8 mots sans échange de clé publique : suppression de `validatePublicKeyHex`, mise à jour de la doc, cohérence avec WordInputGrid et confirmation (plaintext si pas de `remotePublicKey`).
|
|
|
|
**Modifications :**
|
|
- `pairing.ts` : suppression de `validatePublicKeyHex` et des constantes `PUBKEY_HEX_LEN` / `PUBKEY_PREFIX`. Commentaire `addRemotePairFromWords` précisant que `remotePublicKey` est optionnel.
|
|
- `userwallet-pairing-connecte.md` : flux 1er/2e device décrit en « pair distant (8 mots BIP32-style) » ; « membre finalisé » → « membre finaliser » ; Statut mis à jour (pairing 8 mots uniquement, chiffrement optionnel via `PairConfig.publicKey`, sinon base64) ; Impacts (contrats) alignés sur un seul type « membre finaliser ».
|
|
|
|
**Impacts :** Aucun sur le comportement actuel. Les écrans utilisent déjà `WordInputGrid`, `addRemotePairFromWords(parsed, [], undefined)` et la confirmation avec `remote.publicKey` optionnel.
|
|
|
|
**Lint :** Voir `userwallet-eslint-fix.md`. ESLint config + script corrigés ; il reste des violations (max-lines, complexity, etc.) à corriger progressivement.
|