4.1 KiB
Delta 0.2.5-pre.003-fix.001 — conformité Clippy du wire Wallet V1
Base requise
livraison : 0.2.5-pre.003
workspace.package.version = "0.2.5-pre.3"
La base opérateur inclut les ajustements de présentation appliqués localement après pre.003 dans crates/ksp-wallet-lib/src/constants.rs et crates/ksp-wallet-lib/src/lib.rs. Ce fix ne touche pas ces deux fichiers et doit donc être appliqué par-dessus cet état opérateur.
Motif
La validation opérateur de pre.003 donne :
cargo fmt --all OK
cargo check --workspace OK
cargo clippy --workspace --all-targets OK avec 1 warning Wallet
cargo test -p ksp-wallet-lib OK
Clippy signale clippy::collapsible_if dans crates/ksp-wallet-lib/src/wire.rs lors de la vérification de l'unicité des slot_id OWNER/VIEW.
Même si ce lint n'est actuellement qu'un warning, KSP ne clôt pas volontairement une tranche Rust avec un warning connu dans le code introduit par la tranche lorsqu'une correction locale et sémantiquement neutre est disponible.
Correction
Le test :
if let Some(view_slot_ref) = view_slot.as_ref() {
if owner_slot.slot_id() == view_slot_ref.slot_id() {
// ...
}
}
est remplacé par une let-chain Rust 2024 équivalente :
if let Some(view_slot_ref) = view_slot.as_ref()
&& owner_slot.slot_id() == view_slot_ref.slot_id()
{
// ...
}
Aucune sémantique wire, aucun invariant .kspwallet, aucun transcript/AAD, aucune dépendance et aucune API publique ne changent.
Version Cargo
Le correctif modifie une source Rust de production. Conformément aux règles de signalement technique du workspace :
0.2.5-pre.3 -> 0.2.5-pre.3.fix.1
Fichiers modifiés
Cargo.toml
crates/ksp-wallet-lib/src/wire.rs
Fichiers ajoutés
deltas/0.2.5/pre.003-fix.001.md
Fichiers supprimés
Aucun.
Fichiers opérateur volontairement préservés
Le fix n'embarque pas et ne réécrit pas :
crates/ksp-wallet-lib/src/constants.rs
crates/ksp-wallet-lib/src/lib.rs
Les regroupements pub const / pub(crate) const et pub use / pub(crate) use effectués par l'opérateur restent donc intacts.
Validation attendue après application
cargo fmt --all
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-wallet-lib
Le checkpoint de dépendances de pre.003 doit également auditer l'arbre après l'introduction de base64 :
cargo tree -p ksp-wallet-lib
cargo tree -p ksp-wallet-lib -d
cargo tree -i base64
Objectifs du contrôle :
Wallet ne dépend toujours que de ses frontières autorisées
base64 provient de la déclaration workspace et n'introduit pas une seconde génération injustifiée
aucune dépendance Config / Transport / Tauri / tracing direct / client RPC Solana n'apparaît sous Wallet
les duplications éventuelles de l'arbre sont comprises et justifiées
cargo tree -d peut afficher des duplications appartenant à d'autres branches du workspace lorsqu'il est lancé globalement ; le contrôle ciblé -p ksp-wallet-lib constitue la vue de référence de ce fix.
Validations opérateur pré-fix enregistrées
cargo fmt --all: OK ;cargo check --workspace: OK ;cargo clippy --workspace --all-targets: terminé avec un unique warningclippy::collapsible_ifdanswire.rs;cargo test -p ksp-wallet-lib: OK :- 18 unit tests ;
- 2 dependency-boundary tests ;
- 5 public API tests ;
- 2 doctests
compile_fail.
Décisions
- corriger le warning au lieu de l'accepter ou de poser un
#[allow]local ; - ne pas modifier les ajustements manuels
constants.rs/lib.rsde l'opérateur ; - ajouter le contrôle
cargo treeà la validation de la tranche ayant introduitbase64; - ne pas élargir le périmètre fonctionnel de
pre.003.
Questions ouvertes
Aucune nouvelle question fonctionnelle introduite par ce correctif.
Commit attendu
v0.2.5-pre.003-fix.001