3.0 KiB
Delta 0.3.12-pre.005-fix.001 — correction de la conversion de signature Block
Base requise
0.3.12-pre.005
workspace.package.version = 0.3.12-pre.5
Le gate opérateur communiqué confirme :
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
workspace.package.version = 0.3.12-pre.5.fix.1
Correction
La construction de la signature source-neutral passe de :
RawTransactionSignature::new(signature.into_bytes())
à :
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
deltas/0.3.12/pre.005-fix.001.md
Fichiers modifiés
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
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
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
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.