v0.2.2-pre.007-fix.002
This commit is contained in:
88
deltas/0.2.2/pre.007-fix.002.md
Normal file
88
deltas/0.2.2/pre.007-fix.002.md
Normal file
@@ -0,0 +1,88 @@
|
||||
<!-- file: deltas/0.2.2/pre.007-fix.002.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta `0.2.2-pre.007-fix.002`
|
||||
|
||||
## Base requise
|
||||
|
||||
- `0.2.2-pre.007-fix.001` appliqué et commité ;
|
||||
- `workspace.package.version = "0.2.2-pre.7.fix.1"` avant application de ce delta.
|
||||
|
||||
## Objectif
|
||||
|
||||
Corriger le deuxième échec opérateur du smoke Devnet Transport introduit en `pre.007`, sans modifier les wrappers HTTP typés ni la surface publique `0.2.2`.
|
||||
|
||||
La passe `pre.007-fix.001` a validé `cargo fmt --all`, `cargo check --workspace`, `cargo clippy --workspace --all-targets`, les tests Transport et `cargo test --workspace`. Le smoke historique `Config -> Transport` a également réussi. En revanche, le smoke Transport pur a reçu RPC `-32600` sur `getTokenAccountsByOwner` lorsqu'il utilisait `System Program` comme owner, le selector `{ programId: SPL Token }` et omettait le troisième paramètre de config.
|
||||
|
||||
## Décision
|
||||
|
||||
Le wrapper conserve son contrat existant : la config Account reste optionnelle, conformément à la surface RPC auditée et aux tests déterministes.
|
||||
|
||||
Le scénario live adopte la forme la plus conservatrice de l'exemple RPC public Devnet :
|
||||
|
||||
- owner Pubkey ordinaire de l'exemple officiel ;
|
||||
- selector `{ programId: SPL Token }` ;
|
||||
- config explicite `{ commitment: "finalized", encoding: "jsonParsed" }`.
|
||||
|
||||
Le smoke ne dépend toujours pas de l'existence d'un token account particulier : une liste vide reste un succès valide.
|
||||
|
||||
## Fichiers modifiés
|
||||
|
||||
- `Cargo.toml`
|
||||
- version de fichier `117 -> 118` ;
|
||||
- `workspace.package.version`: `0.2.2-pre.7.fix.1 -> 0.2.2-pre.7.fix.2`.
|
||||
- `crates/ksp-onchain-transport-lib/tests/transport_devnet_smoke.rs`
|
||||
- version `2 -> 3` ;
|
||||
- remplace le scénario Token `System Program + selector seul` par la forme documentée `owner ordinaire + selector + finalized/jsonParsed`.
|
||||
- `crates/ksp-onchain-transport-lib/README.md`
|
||||
- version `3 -> 4` ;
|
||||
- précise la forme du smoke Token.
|
||||
- `crates/ksp-onchain-transport-lib/USAGE.md`
|
||||
- version `3 -> 4` ;
|
||||
- synchronise la commande et la sémantique du smoke Token.
|
||||
- `docs/plans/009-V0_2_2_HTTP_ACCOUNTS_TOKENS_CLUSTER_PLAN.md`
|
||||
- version `5 -> 6` ;
|
||||
- consigne l'échec live `-32600` et la correction du scénario.
|
||||
- `docs/validation/004-V0_2_2_HTTP_ACCOUNTS_TOKENS_CLUSTER.md`
|
||||
- version `2 -> 3` ;
|
||||
- synchronise la matrice de validation avec le scénario corrigé.
|
||||
|
||||
## Fichier ajouté
|
||||
|
||||
- `deltas/0.2.2/pre.007-fix.002.md`.
|
||||
|
||||
## Fichiers supprimés
|
||||
|
||||
Aucun.
|
||||
|
||||
## Validations observées avant ce fix
|
||||
|
||||
Réussies sur le checkout opérateur `0.2.2-pre.7.fix.1` :
|
||||
|
||||
- `cargo fmt --all` ;
|
||||
- `cargo check --workspace` ;
|
||||
- `cargo clippy --workspace --all-targets` ;
|
||||
- `cargo test -p ksp-onchain-transport-lib` : `127 + 13 + 7`, smoke live ignoré par défaut ;
|
||||
- `cargo test --workspace` : succès ;
|
||||
- `cargo test -p ksp-config-lib --test transport_devnet_smoke -- --ignored --nocapture` : succès.
|
||||
|
||||
Échec observé :
|
||||
|
||||
- `cargo test -p ksp-onchain-transport-lib --test transport_devnet_smoke -- --ignored --nocapture` ;
|
||||
- `getTokenAccountsByOwner` a reçu `onchain_transport.rpc_application_error`, `rpc_code = -32600`.
|
||||
|
||||
## Validations à exécuter après application
|
||||
|
||||
```bash
|
||||
cargo fmt --all
|
||||
cargo check --workspace
|
||||
cargo clippy --workspace --all-targets
|
||||
cargo test -p ksp-onchain-transport-lib
|
||||
cargo test --workspace
|
||||
cargo test -p ksp-onchain-transport-lib --test transport_devnet_smoke -- --ignored --nocapture
|
||||
cargo test -p ksp-config-lib --test transport_devnet_smoke -- --ignored --nocapture
|
||||
```
|
||||
|
||||
## Questions ouvertes
|
||||
|
||||
Aucune question d'architecture nouvelle. Si la forme RPC publique documentée échoue encore sur Devnet, le prochain diagnostic devra capturer/Comparer le wire live ou considérer explicitement une limitation du RPC public, plutôt que remplacer une troisième fois arbitrairement le scénario Token.
|
||||
Reference in New Issue
Block a user