v0.2.6-pre.015-fix.001

This commit is contained in:
2026-08-22 03:29:10 +02:00
parent d370027c02
commit 946d88322b
3 changed files with 85 additions and 5 deletions

View File

@@ -6,7 +6,7 @@ resolver = "3"
members = ["crates/ksp-app-config-desk", "crates/ksp-app-wallet-desk", "crates/ksp-config-lib", "crates/ksp-core-lib", "crates/ksp-logging-lib", "crates/ksp-onchain-transport-lib", "crates/ksp-wallet-lib"]
[workspace.package]
version = "0.2.6-pre.15"
version = "0.2.6-pre.15.fix.1"
edition = "2024"
license = "MIT"
repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project"

View File

@@ -511,10 +511,10 @@ impl KspWalletEnvelopeV2 {
} else {
std::option::Option::None
};
if let (std::option::Option::Some(descriptor_slot_id), std::option::Option::Some(parsed_view_slot)) = (view_descriptor.slot_id(), view_slot.as_ref()) {
if descriptor_slot_id != parsed_view_slot.slot_id() {
return std::result::Result::Err(format_error("VIEW descriptor slot_id does not match the VIEW key slot", "view_descriptor.slot_id"));
}
if let (std::option::Option::Some(descriptor_slot_id), std::option::Option::Some(parsed_view_slot)) = (view_descriptor.slot_id(), view_slot.as_ref())
&& descriptor_slot_id != parsed_view_slot.slot_id()
{
return std::result::Result::Err(format_error("VIEW descriptor slot_id does not match the VIEW key slot", "view_descriptor.slot_id"));
}
let owner_control = match parse_compartment(&mut reader, WalletCompartmentKindV2::OwnerControl) {
std::result::Result::Ok(value) => value,

View File

@@ -0,0 +1,80 @@
<!-- file: deltas/0.2.6/pre.015-fix.001.md -->
<!-- version: 1 -->
# Delta `0.2.6-pre.015-fix.001` — nettoyage Clippy du parser `.kspwallet` V2
## Base requise
```text
0.2.6-pre.015 appliquée
workspace.package.version = 0.2.6-pre.15
```
Le checkpoint opérateur fourni confirme :
```text
cargo fmt --all OK
python3 scripts/audit_rust_workspace_rules.py clean
cargo check --workspace OK
cargo test -p ksp-app-config-desk OK
cargo test -p ksp-app-wallet-desk OK
cargo test --workspace OK
```
`cargo clippy --workspace --all-targets` termine avec un unique warning `clippy::collapsible_if` dans `ksp-wallet-lib/src/wire_v2.rs` sur la vérification de cohérence entre le `slot_id` du descripteur VIEW et celui du key slot VIEW parsé.
## Signal technique
```text
workspace.package.version = 0.2.6-pre.15.fix.1
commit = v0.2.6-pre.015-fix.001
```
Aucun tag prerelease. Aucun changement npm/Tauri : le correctif ne touche ni frontend, ni configuration Tauri, ni packaging.
## Correction
Le contrôle :
```rust
if let (...) = (...) {
if descriptor_slot_id != parsed_view_slot.slot_id() {
return Err(...);
}
}
```
est remplacé par la forme Rust équivalente utilisant une let-chain :
```rust
if let (...) = (...)
&& descriptor_slot_id != parsed_view_slot.slot_id()
{
return Err(...);
}
```
La sémantique reste strictement identique :
- aucun changement du wire V2 ;
- aucun changement de parsing, framing, limites ou canonicalité ;
- aucun changement cryptographique ;
- aucun changement des APIs publiques ;
- aucun changement de fixture ;
- aucun changement de Wallet Desk.
## Validation opérateur requise
Le correctif étant Rust-only et local au parser V2 :
```bash
cargo fmt --all
python3 scripts/audit_rust_workspace_rules.py
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-wallet-lib
```
Si ce checkpoint est vert, `0.2.6-pre.015-fix.001` peut être commitée. Le prochain travail fonctionnel reste `0.2.6-pre.016` : APIs génériques/versionnées, création/open V2 et bascule de Wallet Desk sur l'API non versionnée.
Ne pas exécuter `cargo tauri build` à ce stade.