Commit affddaa
fix(test): handle
The db-compat test has been failing since #392 bumped Bockifier to v0.16.0-rc.0, which introduced a breaking change in `TransactionExecutionInfo` struct serialization.
The v1.6.0 test database contains traces in the old format that can no longer be deserialized, causing `trace_transaction` to return `TxnHashNotFound` instead of the trace data.
This updates the test to accept `TxnHashNotFound` as a valid (expected) outcome for that call. The provider returns `None` on deserialization failure as a backward-compatibility measure:
```rust
match self.0.get::<tables::TxTraces>(num) {
Ok(Some(execution)) => Ok(Some(execution)),
Ok(None) => Ok(None),
// Treat decompress errors as non-existent for backward compatibility
Err(DatabaseError::Codec(CodecError::Decompress(err))) => {
warn!(tx_num = %num, %err, "Failed to deserialize transaction trace");
Ok(None)
}
Err(e) => Err(e.into()),
}
```
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>TxnHashNotFound in db-compat test (#435)1 parent 2a76014 commit affddaa
1 file changed
+25
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
63 | | - | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
64 | 87 | | |
65 | 88 | | |
66 | 89 | | |
| |||
0 commit comments