[package]
name = "sol-parser-sdk"
version = "0.2.1"
edition = "2021"
authors = ["William <byteblock6@gmail.com>", "sgxiang <sgxiang@gmail.com>", "wei <1415121722@qq.com>"]
repository = "https://github.com/0xfnzero/sol-parser-sdk"
description = "A lightweight Rust library for real-time event streaming from Solana DEX trading programs. Supports PumpFun, PumpSwap, Bonk, and Raydium protocols with Yellowstone gRPC and ShredStream."
license = "MIT"
keywords = ["solana", "streaming", "events", "grpc", "shredstream"]
readme = "README.md"
[lib]
crate-type = ["cdylib", "rlib"]
[[bench]]
name = "zero_latency_optimizations"
harness = false
[features]
default = ["parse-borsh"]
parse-borsh = []
parse-zero-copy = []
perf-stats = []
ultra-perf = []
[dependencies]
solana-sdk = "3.0.0"
solana-client = "3.0.8"
solana-program = "3.0.0"
solana-rpc-client = "3.0.8"
solana-rpc-client-api = "3.0.8"
solana-transaction-status = "3.0.8"
solana-account-decoder = "3.0.8"
solana-hash = "3.0.0"
solana-entry = "3.0.8"
solana-rpc-client-nonce-utils = "3.0.8"
solana-perf = "3.0.8"
solana-metrics = "3.0.8"
spl-associated-token-account = "7.0.0"
borsh = { version = "1.5.3", features = ["derive"] }
serde = { version = "1.0.215", features = ["derive"] }
serde_json = "1.0.134"
serde-big-array = "0.5.1"
futures = "0.3.31"
futures-util = "0.3.31"
base64 = "0.22.1"
base64-simd = "0.8"
bs58 = "0.5.1"
memchr = "2.7"
rand = "0.9.0"
bincode = "1.3.3"
anyhow = "1.0.90"
yellowstone-grpc-client = { version = "9.0.0" }
yellowstone-grpc-proto = { version = "9.0.0" }
tokio = { version = "1.42.0", features = ["full", "rt-multi-thread"]}
tonic = { version = "0.14.2", features = ["transport"] }
rustls = { version = "0.23.23", features = ["ring"], default-features = false }
ring = "0.17"
rustls-native-certs = "0.8.1"
tokio-rustls = "0.26.1"
tokio-stream = "0.1"
log = "0.4.22"
chrono = "0.4.39"
regex = "1"
tracing = "0.1.41"
thiserror = "2.0.11"
async-trait = "0.1.86"
lazy_static = "1.5.0"
once_cell = "1.20.3"
dashmap = "6.0.1"
prost = "0.14.1"
prost-types = "0.14.1"
num_enum = "0.7.3"
num-derive = "0.4.2"
num-traits = "0.2.19"
hex = "0.4.3"
bytemuck = { version = "1.4.0" }
arrayref = "0.3.6"
borsh-derive = "1.5.5"
indicatif = "0.18.0"
maplit = "1.0.2"
env_logger = "0.11.8"
crossbeam = "0.8.4"
crossbeam-channel = "0.5"
crossbeam-queue = "0.3.12"
rayon = "1.10"
parking_lot = "0.12.1"
wide = "0.7"
spl-token = "8.0.0"
spl-token-2022 = "9.0.0"
libc = "0.2"
smallvec = "1.13"
[dev-dependencies]
criterion = { version = "0.7.0", features = ["html_reports"] }
[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 16
panic = 'abort'
strip = true
incremental = true
[profile.release.package."*"]
opt-level = 3
codegen-units = 1
[profile.ultra-perf]
inherits = "release"
opt-level = 3
lto = "fat"
codegen-units = 1
panic = 'abort'
strip = true
incremental = false
overflow-checks = false