v0.2.3-pre.007

This commit is contained in:
2026-08-18 16:12:07 +02:00
parent fb32ed03f8
commit 704110d509
11 changed files with 782 additions and 19 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/010-V0_2_3_HTTP_TRANSACTIONS_PLAN.md -->
<!-- version: 5 -->
<!-- version: 6 -->
# Plan `0.2.3` — HTTP Transactions
@@ -725,3 +725,22 @@ La tranche suivante reste `pre.003` : `getFeeForMessage`, `getLatestBlockhash`,
La prévision est ajustée : `pre.008` devient l'audit rétroactif `KSP-TRANSPORT-007` et la clôture finale est déplacée à `pre.009`.
## Résultat de `pre.007`
`pre.007` active la dernière méthode Transaction, `simulateTransaction`, et porte donc la couverture typée `0.2.3` à **11/11** :
- transaction d'entrée conservée comme chaîne opaque, sans dépendance codec/SDK ;
- encodings d'entrée `base58` et `base64` couverts ;
- config complète conservée : `commitment`, `encoding`, `replaceRecentBlockhash`, `sigVerify`, `minContextSlot`, `innerInstructions`, `accounts` ;
- sous-config `accounts` capable d'émettre `base64`, `base64+zstd` et `jsonParsed`, avec rejet local de `binary/base58` conformément à Agave `v4.2.1` ;
- incompatibilité déterministe `sigVerify=true` + `replaceRecentBlockhash=true` rejetée avant I/O ;
- limite dynamique du nombre d'adresses `accounts` laissée au runtime puisque KSP ne décode pas la transaction ;
- résultat riche préservé losslessly, y compris les champs Agave `v4.2.1` au-delà du résumé documentaire public : `fee`, balances, token balances et loaded addresses ;
- `omitted/null/value` conservés pour les champs optionnels avec `SolanaWireField<T>` ;
- accounts de simulation décodés via le wire Account KSP existant, avec `null` positionnels conservés ;
- erreur RPC applicative conservée sans transformation en erreur transport ;
- descriptor central `Simulation / RetrySafe` exercé end-to-end par un scénario HTTP 503 puis succès, démontrant que la simulation peut être retentée ;
- canarie release exacte `8 Read / 2 WriteSubmission / 1 Simulation`, soit les 11 méthodes `V0_2_3`.
Aucune dépendance n'est ajoutée. Le travail fonctionnel initialement planifié pour les 11 Transactions est désormais implémenté ; `pre.008` reste volontairement
réservée au réaudit rétroactif `KSP-TRANSPORT-007` des wrappers HTTP `0.2.1` -> `0.2.3`, puis `pre.009` à la clôture.