[package]
name = "solana-streamer-sdk"
version = "1.4.3"
edition = "2021"
authors = ["William <byteblock6@gmail.com>", "sgxiang <sgxiang@gmail.com>", "wei <1415121722@qq.com>"]
repository = "https://github.com/0xfnzero/solana-streamer"
description = "A low-latency Solana DEX event streaming facade over sol-parser-sdk with Yellowstone gRPC, ShredStream, and RPC parsing helpers."
license = "MIT"
keywords = ["solana", "streaming", "events", "grpc", "shredstream"]
readme = "README.md"

[lib]
crate-type = ["cdylib", "rlib"]

[features]
default = ["sdk-parse-borsh"]
sdk-parse-borsh = ["sol-parser-sdk/parse-borsh"]
# If both parser backend features are enabled, sol-parser-sdk 0.4.8+ uses zero-copy.
sdk-parse-zero-copy = ["sol-parser-sdk/parse-zero-copy"]
sdk-perf-stats = ["sol-parser-sdk/perf-stats"]
sdk-ultra-perf = ["sol-parser-sdk/ultra-perf"]

[dependencies]
# Keep the streamer facade in lockstep with the sibling SDK while both crates evolve together.
sol-parser-sdk = { version = "0.4.8", default-features = false }
solana-sdk = "3.0.0"
solana-client = "3.1.12"
solana-transaction-status = "3.1.12"
solana-account-decoder = "3.1.12"
solana-entry = "3.0.0"
borsh = { version = "1.6.0", features = ["derive"] }
serde = { version = "1.0.228", features = ["derive"] }
serde-big-array = "0.5.1"
futures = "0.3.32"
bincode = "1.3"
anyhow = "1.0.102"
yellowstone-grpc-client = "12.1.0"
yellowstone-grpc-proto = "12.4.0"
tokio = { version = "1.50.0", features = ["full", "rt-multi-thread"]}
tonic = { version = "0.14.5", features = ["transport"] }
rustls = { version = "0.23.37", features = ["ring"], default-features = false }
log = "0.4.29"
dashmap = "6.1.0"
prost = "0.14.3"
prost-types = "0.14.3"
crossbeam-queue = "0.3.12"
spl-token = { version = "9.0.0", default-features = false, features = ["no-entrypoint"] }
spl-token-2022 = { version = "10.0.0", default-features = false, features = ["no-entrypoint"] }
# spl-token-2022 10.0.0 is incompatible with spl-token-group-interface 0.7.2+ (E0308).
# Keep token-group-interface pinned to 0.7.1 until the upstream token-2022 bump is available.
spl-token-group-interface = "=0.7.1"
solana-commitment-config = { version = "3.1.1", features = ["serde"] }
tonic-prost = "0.14.5"
