https://github.com/longcipher/calldata-compressor-rs
Ethereum transaction calldata compressor, designed for layer 2
https://github.com/longcipher/calldata-compressor-rs
Last synced: 4 months ago
JSON representation
Ethereum transaction calldata compressor, designed for layer 2
- Host: GitHub
- URL: https://github.com/longcipher/calldata-compressor-rs
- Owner: longcipher
- License: apache-2.0
- Created: 2023-11-21T15:19:27.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-11-26T07:11:47.000Z (over 1 year ago)
- Last Synced: 2025-09-15T10:45:47.722Z (9 months ago)
- Language: Rust
- Size: 88.9 KB
- Stars: 1
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# calldata-compressor-rs
A Compression algorithm for EVM abi.encoded data, especially for EVM calldata.
This project is a Rust implementation of the Calldata Compressor, based on [1inch/calldata-compressor](https://github.com/1inch/calldata-compressor)
## Features
* Adhere to [Rust API Guidelines](https://rust-lang.github.io/api-guidelines/)
## Test & Benchmark
Test
```sh
cargo nextest run -r
```
Benchmarks
```sh
# valgrind check
cargo valgrind test
valgrind --tool=dhat ./target/debug/deps/calldata_compressor-92413ab13fccdd8f
# generate flamegraph
cargo flamegraph --unit-test -- test_compress_big
```