BlockProof serialization is a silent no-op (TODO placeholder)
- Ngôn ngữ chính
- Rust
- Star
- 132
- Fork
- 167
- Merge trung bình
- 1 ngày 23 giờ
- Pull request đã merge (30 ngày)
- 110
Mô tả
`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.
Hướng dẫn đóng góp
Đánh giá
Issue này chưa được đánh giá.