sol-parser-sdk 0.2.1

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.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "sol-parser-sdk"
version = "0.2.1"
authors = [
    "William <byteblock6@gmail.com>",
    "sgxiang <sgxiang@gmail.com>",
    "wei <1415121722@qq.com>",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
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."
readme = "README.md"
keywords = [
    "solana",
    "streaming",
    "events",
    "grpc",
    "shredstream",
]
license = "MIT"
repository = "https://github.com/0xfnzero/sol-parser-sdk"

[features]
default = ["parse-borsh"]
parse-borsh = []
parse-zero-copy = []
perf-stats = []
ultra-perf = []

[lib]
name = "sol_parser_sdk"
crate-type = [
    "cdylib",
    "rlib",
]
path = "src/lib.rs"

[[example]]
name = "debug_pump_tx"
path = "examples/debug_pump_tx.rs"

[[example]]
name = "debug_pumpswap_tx"
path = "examples/debug_pumpswap_tx.rs"

[[example]]
name = "dynamic_subscription"
path = "examples/dynamic_subscription.rs"

[[example]]
name = "meteora_damm_grpc"
path = "examples/meteora_damm_grpc.rs"

[[example]]
name = "parse_meteora_damm_tx"
path = "examples/parse_meteora_damm_tx.rs"

[[example]]
name = "parse_pump_tx"
path = "examples/parse_pump_tx.rs"

[[example]]
name = "parse_pumpswap_tx"
path = "examples/parse_pumpswap_tx.rs"

[[example]]
name = "pumpfun_quick_test"
path = "examples/pumpfun_quick_test.rs"

[[example]]
name = "pumpfun_trade_filter"
path = "examples/pumpfun_trade_filter.rs"

[[example]]
name = "pumpfun_trade_filter_ordered"
path = "examples/pumpfun_trade_filter_ordered.rs"

[[example]]
name = "pumpfun_with_metrics"
path = "examples/pumpfun_with_metrics.rs"

[[example]]
name = "pumpswap_low_latency"
path = "examples/pumpswap_low_latency.rs"

[[example]]
name = "pumpswap_ordered"
path = "examples/pumpswap_ordered.rs"

[[example]]
name = "test_account_filling"
path = "examples/test_account_filling.rs"

[[bench]]
name = "zero_latency_optimizations"
path = "benches/zero_latency_optimizations.rs"
harness = false

[dependencies.anyhow]
version = "1.0.90"

[dependencies.arrayref]
version = "0.3.6"

[dependencies.async-trait]
version = "0.1.86"

[dependencies.base64]
version = "0.22.1"

[dependencies.base64-simd]
version = "0.8"

[dependencies.bincode]
version = "1.3.3"

[dependencies.borsh]
version = "1.5.3"
features = ["derive"]

[dependencies.borsh-derive]
version = "1.5.5"

[dependencies.bs58]
version = "0.5.1"

[dependencies.bytemuck]
version = "1.4.0"

[dependencies.chrono]
version = "0.4.39"

[dependencies.crossbeam]
version = "0.8.4"

[dependencies.crossbeam-channel]
version = "0.5"

[dependencies.crossbeam-queue]
version = "0.3.12"

[dependencies.dashmap]
version = "6.0.1"

[dependencies.env_logger]
version = "0.11.8"

[dependencies.futures]
version = "0.3.31"

[dependencies.futures-util]
version = "0.3.31"

[dependencies.hex]
version = "0.4.3"

[dependencies.indicatif]
version = "0.18.0"

[dependencies.lazy_static]
version = "1.5.0"

[dependencies.libc]
version = "0.2"

[dependencies.log]
version = "0.4.22"

[dependencies.maplit]
version = "1.0.2"

[dependencies.memchr]
version = "2.7"

[dependencies.num-derive]
version = "0.4.2"

[dependencies.num-traits]
version = "0.2.19"

[dependencies.num_enum]
version = "0.7.3"

[dependencies.once_cell]
version = "1.20.3"

[dependencies.parking_lot]
version = "0.12.1"

[dependencies.prost]
version = "0.14.1"

[dependencies.prost-types]
version = "0.14.1"

[dependencies.rand]
version = "0.9.0"

[dependencies.rayon]
version = "1.10"

[dependencies.regex]
version = "1"

[dependencies.ring]
version = "0.17"

[dependencies.rustls]
version = "0.23.23"
features = ["ring"]
default-features = false

[dependencies.rustls-native-certs]
version = "0.8.1"

[dependencies.serde]
version = "1.0.215"
features = ["derive"]

[dependencies.serde-big-array]
version = "0.5.1"

[dependencies.serde_json]
version = "1.0.134"

[dependencies.smallvec]
version = "1.13"

[dependencies.solana-account-decoder]
version = "3.0.8"

[dependencies.solana-client]
version = "3.0.8"

[dependencies.solana-entry]
version = "3.0.8"

[dependencies.solana-hash]
version = "3.0.0"

[dependencies.solana-metrics]
version = "3.0.8"

[dependencies.solana-perf]
version = "3.0.8"

[dependencies.solana-program]
version = "3.0.0"

[dependencies.solana-rpc-client]
version = "3.0.8"

[dependencies.solana-rpc-client-api]
version = "3.0.8"

[dependencies.solana-rpc-client-nonce-utils]
version = "3.0.8"

[dependencies.solana-sdk]
version = "3.0.0"

[dependencies.solana-transaction-status]
version = "3.0.8"

[dependencies.spl-associated-token-account]
version = "7.0.0"

[dependencies.spl-token]
version = "8.0.0"

[dependencies.spl-token-2022]
version = "9.0.0"

[dependencies.thiserror]
version = "2.0.11"

[dependencies.tokio]
version = "1.42.0"
features = [
    "full",
    "rt-multi-thread",
]

[dependencies.tokio-rustls]
version = "0.26.1"

[dependencies.tokio-stream]
version = "0.1"

[dependencies.tonic]
version = "0.14.2"
features = ["transport"]

[dependencies.tracing]
version = "0.1.41"

[dependencies.wide]
version = "0.7"

[dependencies.yellowstone-grpc-client]
version = "9.0.0"

[dependencies.yellowstone-grpc-proto]
version = "9.0.0"

[dev-dependencies.criterion]
version = "0.7.0"
features = ["html_reports"]

[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 16
panic = "abort"
incremental = true
strip = true

[profile.release.package."*"]
opt-level = 3
codegen-units = 1

[profile.ultra-perf]
opt-level = 3
lto = "fat"
codegen-units = 1
panic = "abort"
overflow-checks = false
incremental = false
inherits = "release"
strip = true