2.0 KiB
2.0 KiB
Delta 0.2.6-pre.010-fix.001 — self-rotation VIEW
Objet
Compléter pre.010 pour respecter le contrat de capacité de ksp-wallet-lib : un détenteur VIEW déjà autorisé doit pouvoir changer son propre password VIEW, tandis qu'OWNER conserve son pouvoir administratif de rotation VIEW sans ancien password VIEW.
Changements
workspace.package.versionpasse à0.2.6-pre.10.fix.1;- ajout de l'état Rust-only
WalletSession::ViewOperationpour déplacer unWalletViewhors mutex pendant Argon2/persistence ; rotate_view_passwordaccepte désormais une session VIEW ou OWNER :- VIEW ->
WalletView::rotate_view_password-> session VIEW conservée ; - OWNER ->
WalletOwner::rotate_view_password-> session OWNER conservée ;
- VIEW ->
wallet.state_conflictcôté VIEW détruit le handle stale, réinspecte le fichier et force une nouvelle autorisation VIEW ;- Lock/balance considèrent
ViewOperationcomme une opération privilégiée en cours ; - UI : contrôles Rotate VIEW actifs en VIEW comme en OWNER, Rotate OWNER reste strictement OWNER-only ;
- la récupération frontend de conflit de rotation exige la réautorisation de la capacité initiatrice ;
- canaries contract/security étendus aux deux chemins de rotation VIEW ;
- aucun secret Config n'est modifié implicitement.
Hors changement
- aucun changement du format
.kspwallet; - aucun changement dans
ksp-wallet-lib; - aucune nouvelle dépendance ;
ROADMAP.md,CHANGELOG.mdetdocs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.mdrestent inchangés.
Validation opérateur
cargo fmt --all
python3 scripts/audit_rust_workspace_rules.py
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-app-wallet-desk
cargo test --workspace
Runtime utile : ouvrir VIEW, Rotate VIEW, Lock, vérifier ancien VIEW refusé / nouveau VIEW accepté ; puis ouvrir OWNER et vérifier que Rotate VIEW et Rotate OWNER restent fonctionnels.