v0.2.3-pre.006-fix.001
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
# file: Cargo.toml
|
||||
# version: 126
|
||||
# version: 127
|
||||
|
||||
[workspace]
|
||||
resolver = "3"
|
||||
members = ["crates/ksp-app-config-desk", "crates/ksp-config-lib", "crates/ksp-core-lib", "crates/ksp-logging-lib", "crates/ksp-onchain-transport-lib"]
|
||||
|
||||
[workspace.package]
|
||||
version = "0.2.3-pre.6"
|
||||
version = "0.2.3-pre.6.fix.1"
|
||||
edition = "2024"
|
||||
license = "MIT"
|
||||
repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-onchain-transport-lib/unit_tests/rpc_transactions.rs
|
||||
// version: 6
|
||||
// version: 7
|
||||
|
||||
#[test]
|
||||
fn transaction_encoding_strings_match_current_and_legacy_wire_labels() {
|
||||
@@ -308,7 +308,7 @@ fn transaction_pool_for_urls(urls: &[(&str, u32)], request_timeout: std::time::D
|
||||
true,
|
||||
crate::HttpProviderName::new("fixture"),
|
||||
crate::HttpClusterName::new("local"),
|
||||
crate::HttpEndpointUrl::parse(url).expect("fixture URL must parse"),
|
||||
crate::HttpEndpointUrl::parse(*url).expect("fixture URL must parse"),
|
||||
std::time::Duration::from_millis(100),
|
||||
request_timeout,
|
||||
std::option::Option::Some(1),
|
||||
|
||||
159
deltas/0.2.3/pre.006-fix.001.md
Normal file
159
deltas/0.2.3/pre.006-fix.001.md
Normal file
@@ -0,0 +1,159 @@
|
||||
<!-- file: deltas/0.2.3/pre.006-fix.001.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta `0.2.3-pre.006-fix.001` — type URL des fixtures write
|
||||
|
||||
## Base requise
|
||||
|
||||
Ce correctif s'applique après :
|
||||
|
||||
```text
|
||||
0.2.3-pre.006
|
||||
workspace.package.version = "0.2.3-pre.6"
|
||||
```
|
||||
|
||||
Le commit de livraison attendu pour la base est :
|
||||
|
||||
```text
|
||||
v0.2.3-pre.006
|
||||
```
|
||||
|
||||
## Motif du fix
|
||||
|
||||
Les validations opérateur du 2026-08-18 ont établi :
|
||||
|
||||
```text
|
||||
cargo fmt --all OK
|
||||
cargo check --workspace OK
|
||||
cargo clippy --workspace --all-targets ÉCHEC dans lib test
|
||||
cargo test -p ksp-onchain-transport-lib ÉCHEC à la compilation de lib test
|
||||
```
|
||||
|
||||
Le défaut est strictement situé dans le helper de fixtures HTTP multi-endpoints ajouté par `pre.006` :
|
||||
|
||||
```rust
|
||||
for (index, (url, priority)) in urls.iter().enumerate() {
|
||||
// ...
|
||||
HttpEndpointUrl::parse(url)
|
||||
}
|
||||
```
|
||||
|
||||
`urls` est de type `&[(&str, u32)]`. L'itération par référence produit donc `url: &&str`, alors que `HttpEndpointUrl::parse` attend une valeur implémentant `Into<String>`. `&&str` n'implémente pas cette conversion.
|
||||
|
||||
Le compilateur propose correctement de déréférencer une fois la valeur :
|
||||
|
||||
```rust
|
||||
HttpEndpointUrl::parse(*url)
|
||||
```
|
||||
|
||||
Aucun défaut de production, de policy write ou de no-resend n'est mis en évidence par cette erreur ; la compilation échoue avant l'exécution des nouveaux tests de `pre.006`.
|
||||
|
||||
## Version technique
|
||||
|
||||
Le correctif modifie une source Rust de test. Conformément au signal technique KSP :
|
||||
|
||||
```text
|
||||
0.2.3-pre.6 -> 0.2.3-pre.6.fix.1
|
||||
```
|
||||
|
||||
Le header du `Cargo.toml` passe de `version: 126` à `version: 127`.
|
||||
|
||||
Le commit de livraison attendu est :
|
||||
|
||||
```text
|
||||
v0.2.3-pre.006-fix.001
|
||||
```
|
||||
|
||||
## Correction
|
||||
|
||||
Dans :
|
||||
|
||||
```text
|
||||
crates/ksp-onchain-transport-lib/unit_tests/rpc_transactions.rs
|
||||
```
|
||||
|
||||
la construction des endpoints de fixture passe désormais la chaîne référencée elle-même :
|
||||
|
||||
```rust
|
||||
crate::HttpEndpointUrl::parse(*url).expect("fixture URL must parse")
|
||||
```
|
||||
|
||||
Le header du fichier passe de `version: 6` à `version: 7`.
|
||||
|
||||
Cette modification ne change ni l'URL, ni l'ordre des endpoints, ni leurs priorités, ni les paramètres de retry. Elle corrige uniquement le niveau de référence transmis au constructeur typé.
|
||||
|
||||
## Contrats inchangés
|
||||
|
||||
Le correctif ne change pas :
|
||||
|
||||
- `requestAirdrop` ;
|
||||
- `sendTransaction` ;
|
||||
- leurs configs publiques ;
|
||||
- les encodings `base58` / `base64` ;
|
||||
- la distinction `sendTransaction.maxRetries` / retry HTTP KSP ;
|
||||
- les descriptors `WriteSubmission / NeverAfterDispatch` ;
|
||||
- la policy centrale no-resend après dispatch ambigu ;
|
||||
- les fixtures JSON de `pre.006` ;
|
||||
- le plan `010` ;
|
||||
- `KSP-TRANSPORT-007` ;
|
||||
- les dépendances ;
|
||||
- le nombre ou le contenu fonctionnel des tests ajoutés par `pre.006`.
|
||||
|
||||
Aucun fichier de production de `ksp-onchain-transport-lib` n'est modifié.
|
||||
|
||||
## Fichiers modifiés
|
||||
|
||||
```text
|
||||
Cargo.toml
|
||||
crates/ksp-onchain-transport-lib/unit_tests/rpc_transactions.rs
|
||||
```
|
||||
|
||||
## Fichier ajouté
|
||||
|
||||
```text
|
||||
deltas/0.2.3/pre.006-fix.001.md
|
||||
```
|
||||
|
||||
## Dépendances
|
||||
|
||||
Aucune dépendance ajoutée, supprimée ou modifiée.
|
||||
|
||||
## Validations à rejouer
|
||||
|
||||
```bash
|
||||
cargo fmt --all
|
||||
cargo check --workspace
|
||||
cargo clippy --workspace --all-targets
|
||||
cargo test -p ksp-onchain-transport-lib
|
||||
```
|
||||
|
||||
Résultat attendu après compilation du test :
|
||||
|
||||
```text
|
||||
175 unit tests
|
||||
18 public API tests
|
||||
12 release completeness tests
|
||||
1 smoke Devnet ignored / opt-in
|
||||
0 échec
|
||||
```
|
||||
|
||||
Les tests write de `pre.006` doivent notamment pouvoir s'exécuter et démontrer les scénarios no-resend 429 / 503 / timeout ainsi que le fallback autorisé après `NotDispatched`.
|
||||
|
||||
Aucune validation du fix lui-même n'est déclarée réussie sans exécution réelle sur le dépôt opérateur.
|
||||
|
||||
## Suite
|
||||
|
||||
Après validation et commit de :
|
||||
|
||||
```text
|
||||
v0.2.3-pre.006-fix.001
|
||||
```
|
||||
|
||||
reprendre la tranche planifiée :
|
||||
|
||||
```text
|
||||
0.2.3-pre.007
|
||||
simulateTransaction complet
|
||||
```
|
||||
|
||||
Le réaudit rétroactif `KSP-TRANSPORT-007` reste planifié dans une prerelease dédiée avant la tranche finale de clôture.
|
||||
Reference in New Issue
Block a user