Files
khadhroony-solana-project/deltas/0.2.9/pre.009-fix.001.md

76 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- file: deltas/0.2.9/pre.009-fix.001.md -->
<!-- version: 1 -->
# Delta `0.2.9-pre.009-fix.001` — hygiène Clippy du flux bidi
## 1. Objet
Supprimer les deux warnings Clippy observés au gate opérateur de `pre.009`, sans modifier le protocole Yellowstone, le lifecycle bidi, les bornes ni les dépendances.
## 2. Gate opérateur avant fix
| Gate | Résultat |
|------------------------------------------|-------------------|
| `cargo fmt --all` | PASS |
| audit Rust workspace | PASS / clean |
| `cargo check --workspace` | PASS |
| `cargo clippy --workspace --all-targets` | PASS + 2 warnings |
| Transport unit | 379/379 PASS |
| Transport `public_api` | 48/48 PASS |
| Transport `release_completeness` | 42/42 PASS |
| Transport doctests | 4/4 PASS |
| Core dependency canary | 3/3 PASS |
| `cargo test --workspace` | PASS |
Warnings :
```text
clippy::large_enum_variant
YellowstoneSubscribeUpdate::Transaction >= 664 bytes
YellowstoneSubscribeUpdate::Block >= 280 bytes
clippy::extra_unused_type_parameters
assert_send<T: Send>() dans tests/public_api.rs
```
## 3. Correctifs
### 3.1 `YellowstoneSubscribeUpdate::Transaction`
La variante devient :
```rust
Transaction(Box<YellowstoneTransactionUpdate>)
```
Le décodeur alloue cette indirection uniquement pour les updates transaction. Le DTO `YellowstoneTransactionUpdate`, le wire protobuf et les autres variantes ne changent pas. La queue bidi na plus à dimensionner chaque élément sur la variante transaction de ~664 octets.
### 3.2 Canari `Send`
Le helper de test conserve `T: Send` et matérialise `PhantomData<T>` dans son corps. Le paramètre générique devient réellement utilisé sans construction réseau ni changement de contrat.
## 4. Frontières inchangées
```text
reconnect / resubscribe / replay OUT -> pre.010
SubscribeDeshred OUT 0.2.9
PublicNode / Config V3 OUT pre.009
dépendances / features inchangées
```
Aucun `#[allow(clippy::...)]` nest ajouté.
## 5. Gate attendu
```bash
cargo fmt --all
python3 scripts/audit_rust_workspace_rules.py
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-onchain-transport-lib
cargo test -p ksp-core-lib --test workspace_dependencies
cargo test --workspace
```
Attendu : Clippy sans warning et compteurs fonctionnels inchangés à 379 unit / 48 public API / 42 release-completeness / 4 doctests.