Files
khadhroony-solana-project/deltas/0.2.6/pre.010-fix.001.md

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.version passe à 0.2.6-pre.10.fix.1 ;
  • ajout de l'état Rust-only WalletSession::ViewOperation pour déplacer un WalletView hors mutex pendant Argon2/persistence ;
  • rotate_view_password accepte 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 ;
  • wallet.state_conflict côté VIEW détruit le handle stale, réinspecte le fichier et force une nouvelle autorisation VIEW ;
  • Lock/balance considèrent ViewOperation comme 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.md et docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md restent 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.