118 lines
4.0 KiB
Markdown
118 lines
4.0 KiB
Markdown
<!-- file: deltas/0.2.3/pre.008.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta `0.2.3-pre.008` — réaudit rétroactif `KSP-TRANSPORT-007`
|
|
|
|
## Base requise
|
|
|
|
```text
|
|
0.2.3-pre.007
|
|
```
|
|
|
|
La base opérateur a été validée avec `cargo fmt --all`, `cargo check --workspace`, `cargo clippy --workspace --all-targets` et `cargo test -p ksp-onchain-transport-lib` : 182 tests unitaires, 19 tests public API et 13 tests release completeness passent ; le smoke Devnet Transport reste opt-in/ignored.
|
|
|
|
## Objectif
|
|
|
|
Appliquer rétroactivement `KSP-TRANSPORT-007` à tous les wrappers HTTP typés courants livrés depuis `0.2.1`, avant la tranche de clôture finale :
|
|
|
|
```text
|
|
4 Foundation
|
|
22 Accounts/Tokens/Cluster
|
|
11 Transactions
|
|
37 wrappers typés courants
|
|
```
|
|
|
|
L'audit doit détecter toute possibilité RPC supportée mais absente : paramètre, config, overload, forme legacy, contrainte déterministe ou information de réponse significative.
|
|
|
|
## Audit effectué
|
|
|
|
Le contrôle croise :
|
|
|
|
- documentation HTTP Solana courante au 18 août 2026 ;
|
|
- Agave `v4.2.1` `rpc.rs` ;
|
|
- Agave `v4.2.1` `rpc-client-types/config.rs` ;
|
|
- Agave `v4.2.1` `rpc-client-types/response.rs` ;
|
|
- Agave `v4.2.1` `transaction-status-client-types/lib.rs` ;
|
|
- surfaces publiques et tests KSP existants.
|
|
|
|
`v4.2.1` reste la génération runtime stable retenue : `v4.2` est recommandée pour adoption générale Mainnet-beta depuis le 10 août 2026 et ses activations Mainnet-beta ont commencé le 17 août 2026. Le `master` Agave est déjà en `4.3.0-alpha` et n'est pas pris comme contrat stable de cette release.
|
|
|
|
## Verdict
|
|
|
|
**Aucune remédiation fonctionnelle requise.** Les 37 wrappers couvrent déjà toute la surface sémantique supportée retenue par l'audit.
|
|
|
|
Le réaudit confirme notamment les extensions KSP qui vont au-delà de certaines pages publiques mais correspondent au runtime Agave : `binary`, `sortResults`, `tokenAccountState`, `clientId`, `inflationRewardsCommissionBps`, `transactionIndex`, `recentBlockhash` et les champs riches de `simulateTransaction`.
|
|
|
|
La forme bare encoding legacy de `getTransaction` reste distincte et deprecated. Les syntaxes strictement équivalentes restent canonicalisées sans retrait de capacité.
|
|
|
|
## Modifications
|
|
|
|
### Version workspace
|
|
|
|
```text
|
|
0.2.3-pre.7 -> 0.2.3-pre.8
|
|
```
|
|
|
|
### Preuve durable
|
|
|
|
Ajout :
|
|
|
|
```text
|
|
docs/validation/005-V0_2_3_KSP_TRANSPORT_007_RETRO_AUDIT.md
|
|
```
|
|
|
|
La matrice contient 37 lignes, une par wrapper courant typé.
|
|
|
|
### Validation index
|
|
|
|
`docs/validation/000-README.md` référence la nouvelle matrice.
|
|
|
|
### Canarie release
|
|
|
|
`crates/ksp-onchain-transport-lib/tests/release_completeness.rs` ajoute une canarie dédiée qui :
|
|
|
|
- sélectionne exactement les descriptors `V0_2_1`, `V0_2_2` et `V0_2_3` ;
|
|
- exige exactement 37 méthodes ;
|
|
- exige `RuntimeStatus::Supported` ;
|
|
- exige `RetrySafe` pour Read/Simulation ;
|
|
- exige `NeverAfterDispatch` pour WriteSubmission ;
|
|
- vérifie que `getTransaction` conserve le marqueur de forme legacy deprecated.
|
|
|
|
### Plan
|
|
|
|
`docs/plans/010-V0_2_3_HTTP_TRANSACTIONS_PLAN.md` enregistre le résultat de `pre.008` et confirme `pre.009` comme tranche de clôture finale.
|
|
|
|
## Non-modifications intentionnelles
|
|
|
|
Aucun wrapper, DTO wire/config/result, executor, retry policy, fixture HTTP, dépendance Cargo ou contrat public n'est modifié : l'audit ne révèle aucun manque à corriger.
|
|
|
|
`CHANGELOG.md` et `ROADMAP.md` restent inchangés ; le changelog reste réservé à la release finale selon les règles du projet.
|
|
|
|
## Validation opérateur attendue
|
|
|
|
```bash
|
|
cargo fmt --all
|
|
cargo check --workspace
|
|
cargo clippy --workspace --all-targets
|
|
cargo test -p ksp-onchain-transport-lib
|
|
```
|
|
|
|
Résultat attendu après ajout de la canarie :
|
|
|
|
```text
|
|
182 unit tests
|
|
19 public API tests
|
|
14 release completeness tests
|
|
1 smoke Devnet ignored / opt-in
|
|
```
|
|
|
|
## Commit attendu
|
|
|
|
```text
|
|
v0.2.3-pre.008
|
|
```
|
|
|
|
## Suite
|
|
|
|
`0.2.3-pre.009` : réaudit final, canaries/smoke opt-in si pertinent, README/USAGE, matrice finale, validations complètes, archivage/nettoyage requis et prompt de démarrage `0.2.4 — HTTP Blocks/Economics`.
|