Files
khadhroony-solana-project/deltas/0.2.5/pre.006-fix.001.md

2.4 KiB

Delta 0.2.5-pre.006-fix.001 — alignement des tests de persistence sur le contrat Password

Base requise

livraison : 0.2.5-pre.006
workspace.package.version = "0.2.5-pre.6"

Motif

Les validations opérateur de pre.006 donnent :

cargo fmt --all                         OK
cargo check --workspace                OK
cargo clippy --workspace --all-targets ECHEC dans les tests Wallet

Les nouveaux tests de persistence et de surface publique construisaient ViewPassword et OwnerPassword comme si leurs constructeurs avaient le contrat historique/hypothétique :

Password::new("...").expect("...")

Or le contrat acquis de pre.002+ est :

ViewPassword::new(String) -> ViewPassword
OwnerPassword::new(String) -> OwnerPassword

Les erreurs observées sont donc :

E0308 : expected `String`, found `&str`
E0599 : no method named `expect` found for `ViewPassword` / `OwnerPassword`

Le code de production de pre.006 compile ; l'incohérence est limitée aux nouveaux tests.

Correction

Les cinq constructions fautives sont alignées sur le contrat public existant avec std::string::String::from(...) et sans .expect(...) sur les wrappers Password.

Exemple :

let owner_password = crate::OwnerPassword::new(std::string::String::from("pre006-owner-password"));

Le correctif ne modifie pas :

  • ViewPassword ou OwnerPassword ;
  • les règles de validation/password ;
  • la persistence no-clobber ;
  • le wire .kspwallet V1 ;
  • les paramètres ou primitives cryptographiques ;
  • les dépendances ;
  • les API fichier introduites par pre.006.

Version Cargo

Le correctif modifie des tests Rust participant au build :

0.2.5-pre.6 -> 0.2.5-pre.6.fix.1

Fichiers modifiés

Cargo.toml
crates/ksp-wallet-lib/unit_tests/persistence.rs
crates/ksp-wallet-lib/tests/public_api.rs

Fichiers ajoutés

deltas/0.2.5/pre.006-fix.001.md

Fichiers supprimés

Aucun.

Validation attendue après application

cargo fmt --all
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-wallet-lib
cargo test --workspace

Le cargo tree de pre.006 n'est pas modifié par ce fix ; les résultats opérateur déjà obtenus pour tempfile@3.27.0 restent valides.

Commit attendu

v0.2.5-pre.006-fix.001