106 lines
3.0 KiB
Markdown
106 lines
3.0 KiB
Markdown
<!-- file: deltas/0.3.12/pre.005-fix.001.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta `0.3.12-pre.005-fix.001` — correction de la conversion de signature Block
|
|
|
|
## Base requise
|
|
|
|
```text
|
|
0.3.12-pre.005
|
|
workspace.package.version = 0.3.12-pre.5
|
|
```
|
|
|
|
Le gate opérateur communiqué confirme :
|
|
|
|
```text
|
|
Rust rule audit : clean
|
|
Markdown table audit : clean (340 tables, 808 fichiers)
|
|
cargo check --workspace : PASS
|
|
```
|
|
|
|
La compilation des tests Worker échoue ensuite sur un unique diagnostic `E0599` : l'adapter privé `Block` appelle `YellowstoneTransactionSignature::into_bytes()`, méthode absente de la façade Transport.
|
|
|
|
## Objectif
|
|
|
|
Corriger uniquement cette incompatibilité d'API sans changer le comportement `Block`, sans export supplémentaire et sans avancer le scope productif de `pre.006`.
|
|
|
|
## Version
|
|
|
|
```text
|
|
workspace.package.version = 0.3.12-pre.5.fix.1
|
|
```
|
|
|
|
## Correction
|
|
|
|
La construction de la signature source-neutral passe de :
|
|
|
|
```text
|
|
RawTransactionSignature::new(signature.into_bytes())
|
|
```
|
|
|
|
à :
|
|
|
|
```text
|
|
RawTransactionSignature::new(*signature.as_bytes())
|
|
```
|
|
|
|
`YellowstoneTransactionSignature::as_bytes()` est le contrat réel exposé par Transport. Le dereference copie le tableau canonique `[u8; 64]` attendu par `RawTransactionSignature::new`. Cette forme est déjà utilisée dans le même module pour `TransactionStatus`.
|
|
|
|
## Fichiers ajoutés
|
|
|
|
```text
|
|
deltas/0.3.12/pre.005-fix.001.md
|
|
```
|
|
|
|
## Fichiers modifiés
|
|
|
|
```text
|
|
Cargo.toml
|
|
crates/ksp-worker-raw-transaction-ingest-lib/src/runtime_resources.rs
|
|
docs/validation/029-V0_3_12_YELLOWSTONE_HYDRATION_CONTINUITY.md
|
|
```
|
|
|
|
## Fichiers supprimés
|
|
|
|
Aucun.
|
|
|
|
## Non-changements
|
|
|
|
```text
|
|
aucune API publique
|
|
aucune dépendance
|
|
aucun changement de provenance
|
|
aucun changement d'ordre Block
|
|
aucun RAW depuis BlockMeta/Slot
|
|
aucun source task Yellowstone productif
|
|
aucune coalescence productive
|
|
aucun reconnect/from_slot/ReplayInfo
|
|
aucun lint neutralisé
|
|
```
|
|
|
|
## Validations exécutées dans l'environnement d'assemblage
|
|
|
|
```text
|
|
python3 scripts/audit_rust_workspace_rules.py
|
|
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas
|
|
```
|
|
|
|
Les contrôles statiques vérifient également qu'il ne reste aucun appel `YellowstoneTransactionSignature::into_bytes()` dans `runtime_resources.rs` et que la conversion `*signature.as_bytes()` correspond à la forme déjà utilisée par l'adapter `TransactionStatus`.
|
|
|
|
## Validations non exécutées dans l'environnement d'assemblage
|
|
|
|
`cargo`, `rustc` et `rustfmt` ne sont pas disponibles dans l'environnement d'assemblage. Aucun gate Cargo local n'est revendiqué.
|
|
|
|
## Gate opérateur requis
|
|
|
|
```bash
|
|
cargo fmt --all
|
|
python3 scripts/audit_rust_workspace_rules.py
|
|
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas
|
|
cargo check --workspace
|
|
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
|
cargo test -p ksp-worker-raw-transaction-ingest-lib
|
|
```
|
|
|
|
Après gate vert, la suite reste `pre.006`.
|