v0.5.2-pre.001

This commit is contained in:
2026-08-10 14:09:39 +02:00
parent 9849aa7084
commit 0bd5bbf1c4
6 changed files with 737 additions and 87 deletions

View File

@@ -1,19 +1,29 @@
<!-- file: ks-wallet/TODO.md -->
<!-- version: 4 -->
<!-- version: 7 -->
# TODO — ks-wallet
## Série `0.5.x`
## `0.5.2`
- [ ] `0.5.2` - caractériser le format legacy `<alias>.json` contenant le tableau JSON standard du keypair Solana.
- [ ] `0.5.2` - définir un conteneur persistant versionné avant dintroduire le chiffrement.
- [ ] `0.5.2` - séparer identité publique, matériau secret, état verrouillé/déverrouillé et capacité de signature.
- [ ] Migration - définir import legacy, écriture atomique, rollback et conservation de la clé publique.
- [ ] Fonctionnalité - gérer plusieurs wallets persistants et la sélection du wallet actif si retenue.
- [ ] Sécurité - ajouter chiffrement/déchiffrement et changement de secret seulement après validation du format.
- [ ] Sécurité - ajouter verrouillage/déverrouillage explicites et invalidation de session.
- [ ] Fonctionnalité - ajouter import/export, sauvegarde/restauration avec contrats de sécurité explicites.
- [ ] Sécurité - interdire tout secret wallet dans config générale, logs, erreurs, diagnostics ou Tauri.
- [ ] Intégration - relier la sélection du wallet aux profils et signers sans exposer les octets secrets.
- [ ] Tests - ajouter une API externe de caractérisation, corruption, concurrence, récupération et migration.
- [ ] Documentation - produire un guide de sécurité avant tout usage hors démonstration.
- [ ] caractériser par tests externes le format legacy `<alias>.json`, ses erreurs et ses permissions.
- [ ] définir l'identité publique minimale d'un wallet et le lookup par alias.
- [ ] gérer plusieurs wallets persistants sans wallet actif global mutable et les découvrir par scan borné des `<alias>.kswallet` du store résolu.
- [ ] conserver/généraliser les wallets temporaires ou jetables purement en mémoire.
- [ ] spécifier puis implémenter le format natif binaire versionné `<alias>.kswallet`.
- [ ] sélectionner et documenter KDF/AEAD/paramètres après vérification des dépendances résolues.
- [ ] créer/ouvrir un wallet persistant avec mot de passe sans exposer les bytes privés.
- [ ] permettre le changement de mot de passe en rechiffrant exactement la même keypair et donc en conservant la même pubkey.
- [ ] fournir une capacité de signature compatible avec les consommateurs sans dépendance de `ks-lib` vers `ks-wallet`.
- [ ] importer le legacy Solana JSON vers `.kswallet` avec écriture atomique, rollback et vérification de pubkey.
- [ ] importer et exporter le format keypair JSON standard des binaires Solana.
- [ ] produire une matrice documentée des formats Phantom, Solflare, Backpack, Trust Wallet, Coinbase/Base et autres wallets Solana pertinents.
- [ ] implémenter dans `0.5.2` un seul adaptateur wallet tiers d'exemple, choisi selon simplicité et qualité de la spécification officielle.
- [ ] reporter les autres adaptateurs tiers faisables vers une version ultérieure non déterminée après validation de la matrice.
- [ ] ne jamais synthétiser une recovery phrase supposée préserver une keypair arbitraire sans mnemonic/seed d'origine.
- [ ] exiger le mot de passe valide pour tout export contenant le secret.
- [ ] définir les collisions d'alias et de pubkey sans écrasement silencieux.
- [ ] normaliser la sélection par alias dans `ks-config` sans secret.
- [ ] adapter les consommateurs et le desktop uniquement via des surfaces non sensibles.
- [ ] retirer secrets et chemins locaux inutiles des logs, erreurs, diagnostics et DTO.
- [ ] tester permissions privées, atomicité, corruption, concurrence réellement utilisée et non-divulgation.
- [ ] produire le guide de sécurité et la documentation finale avant clôture de `0.5.2`.