v0.2.6-pre.015-fix.001
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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,
|
||||
|
||||
80
deltas/0.2.6/pre.015-fix.001.md
Normal file
80
deltas/0.2.6/pre.015-fix.001.md
Normal 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.
|
||||
Reference in New Issue
Block a user