[package]
name = "sol-parser-sdk"
version = "0.7.2"
edition = "2021"
rust-version = "1.91"
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, Raydium LaunchLab, and Raydium protocols with Yellowstone gRPC and ShredStream."
license = "MIT"
keywords = ["solana", "streaming", "events", "grpc", "shredstream"]
readme = "README.md"
[lib]
crate-type = ["rlib"]
[[example]]
name = "shredstream_pump_snipe"
path = "examples/shredstream_pump_snipe.rs"
[[bench]]
name = "zero_latency_optimizations"
harness = false
[[bench]]
name = "transaction_cost"
harness = false
[[bench]]
name = "pumpfun_balance_fill"
harness = false
[[bench]]
name = "log_instr_dedup"
harness = false
required-features = ["perf-stats"]
[[bench]]
name = "instruction_reject"
harness = false
[[bench]]
name = "pumpfun_create_detection"
harness = false
[[bench]]
name = "yellowstone_transaction"
harness = false
[[bench]]
name = "shred_entry_decode"
harness = false
[[bench]]
name = "rpc_transaction"
harness = false
[[bench]]
name = "rpc_pumpfun_transaction"
harness = false
[[bench]]
name = "protocol_transaction_corpus"
harness = false
[[bench]]
name = "micro_batch_buffer"
harness = false
[features]
default = ["parse-borsh"]
parse-borsh = []
parse-zero-copy = []
perf-stats = []
ultra-perf = []
[dependencies]
solana-sdk = "=4.0.1"
solana-client = "=4.2.2"
solana-transaction-status = { version = "=4.2.2", features = ["agave-unstable-api"] }
solana-transaction-error = { version = "=3.3.2", features = ["wincode"] }
solana-entry = { version = "=4.2.2", features = ["agave-unstable-api"] }
borsh = { version = "1.5.3", features = ["derive"] }
serde = { version = "1.0.215", features = ["derive"] }
serde-big-array = "0.5.1"
futures = "0.3.31"
base64 = "0.22.1"
base64-simd = "0.8"
base58-turbo = { version = "0.3.0", default-features = false, features = ["std"] }
bs58 = "0.5.1"
memchr = "2.7"
wincode = "=0.5.5"
anyhow = "1.0.90"
yellowstone-grpc-client = "=13.5.0"
yellowstone-grpc-proto = "=12.7.0"
tokio = { version = "1.42.0", features = ["full"] }
tonic = { version = "0.14.5", features = ["transport"] }
tonic-prost = "0.14.5"
rustls = { version = "0.23.23", features = ["ring"], default-features = false }
log = "0.4.22"
chrono = "0.4.39"
once_cell = "1.20.3"
prost = "0.14.3"
crossbeam-queue = "0.3.12"
rayon = "1.10"
wide = "0.7"
spl-token = { version = "9.0.0", default-features = false, features = ["no-entrypoint"] }
spl-token-2022 = { version = "11.0.0", default-features = false, features = ["no-entrypoint"] }
spl-pod = "=0.7.2"
libc = "0.2"
smallvec = "1.13"
[dev-dependencies]
criterion = { version = "0.7.0", features = ["html_reports"] }
serde_json = "1.0.134"
[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.bench]
opt-level = 3
lto = "thin"
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