mirror of
https://github.com/paradigmxyz/reth.git
synced 2026-02-19 03:04:27 -05:00
fix(zstd): use transaction dictionary for tx compressor (#21382)
This commit is contained in:
@@ -60,7 +60,8 @@ mod locals {
|
||||
|
||||
/// Fn creates tx [`Compressor`]
|
||||
pub fn create_tx_compressor() -> Compressor<'static> {
|
||||
Compressor::with_dictionary(0, RECEIPT_DICTIONARY).expect("Failed to instantiate tx compressor")
|
||||
Compressor::with_dictionary(0, TRANSACTION_DICTIONARY)
|
||||
.expect("Failed to instantiate tx compressor")
|
||||
}
|
||||
|
||||
/// Fn creates tx [`Decompressor`]
|
||||
@@ -148,3 +149,34 @@ impl ReusableDecompressor {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn tx_roundtrip_compression() {
|
||||
let data: Vec<u8> = (0u8..=255).collect();
|
||||
|
||||
let mut compressor = create_tx_compressor();
|
||||
let compressed = compressor.compress(&data).expect("compress tx");
|
||||
|
||||
let mut decompressor = create_tx_decompressor();
|
||||
let decompressed = decompressor.decompress(&compressed);
|
||||
|
||||
assert_eq!(decompressed, &*data);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn receipt_roundtrip_compression() {
|
||||
let data: Vec<u8> = (0u8..=255).rev().collect();
|
||||
|
||||
let mut compressor = create_receipt_compressor();
|
||||
let compressed = compressor.compress(&data).expect("compress receipt");
|
||||
|
||||
let mut decompressor = create_receipt_decompressor();
|
||||
let decompressed = decompressor.decompress(&compressed);
|
||||
|
||||
assert_eq!(decompressed, &*data);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user