0xMiden / 0xMiden/protocol

BlockProof serialization is a silent no-op (TODO placeholder)

Aberta
#3,140 0 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Rust
Estrelas
132
Forks
167
Merge médio
1d 23h
PRs com merge (30d)
110

Descrição

`crates/miden-protocol/src/block/block_proof.rs:28-37`

`BlockProof::write_into` is a no-op:

```rust
impl Serializable for BlockProof {
fn write_into(&self, _target: &mut W) {
// TODO: Implement serialization
}
}
```

And `read_from` returns an empty struct:

```rust
impl Deserializable for BlockProof {
fn read_from(_source: &mut R) -> Result {
// TODO: Implement deserialization
Ok(Self {})
}
}
```

If a `BlockProof` is ever serialized or deserialized in production code, it will silently produce corrupt data — the bytes won't represent the actual proof, and deserialization will always return an empty `BlockProof` regardless of input.

The `BlockProof` struct has no fields currently (block_proof.rs:24-26), so serialization is technically lossless, but once fields are added (which the TODO implies is planned), the empty serialization becomes a data corruption bug. Adding a panic or compile-time assertion would prevent silent data loss when fields are added.

Guia de contribuição

Abrir o guia de contribuição

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.