refactor: modernize dependency stack and minimize footprint

- Migrate to native 'std::sync' primitives (LazyLock, OnceLock, RwLock).
- Replace 'parking_lot' with std library synchronization types.
- Switch from 'chrono' to 'std::time::SystemTime' for lightweight timestamps.
- Bump core dependencies: tokio (1.50.0) and rustls (0.23.37).
- Decouple 'solana-program' by utilizing 'solana-sdk' re-exports.
- Prune redundant crates: lazy_static, once_cell, chrono, maplit, and parking_lot.
- Remove unused dev-dependencies (criterion) and example-only utils (env_logger).
- Improve compile times and reduce supply chain attack surface.
This commit is contained in:
Estereg
2026-03-07 06:44:42 +00:00
parent 7270372604
commit 0c369e23a8
12 changed files with 42 additions and 52 deletions
+2 -12
View File
@@ -15,7 +15,6 @@ crate-type = ["cdylib", "rlib"]
[dependencies]
solana-sdk = "3.0.0"
solana-client = "3.1.9"
solana-program = "3.0.0"
solana-transaction-status = "3.1.9"
solana-account-decoder = "3.1.9"
solana-entry = { version = "3.1.9", features = ["agave-unstable-api"] }
@@ -27,25 +26,16 @@ bincode = "1.3"
anyhow = "1.0.102"
yellowstone-grpc-client = { version = "10.2.0" }
yellowstone-grpc-proto = { version = "10.1.1" }
tokio = { version = "1.49.0", features = ["full", "rt-multi-thread"]}
tokio = { version = "1.50.0", features = ["full", "rt-multi-thread"]}
tonic = { version = "0.14.5", features = ["transport"] }
rustls = { version = "0.23.36", features = ["ring"], default-features = false }
rustls = { version = "0.23.37", features = ["ring"], default-features = false }
log = "0.4.29"
chrono = "0.4.43"
lazy_static = "1.5.0"
once_cell = "1.21.3"
dashmap = "6.1.0"
prost = "0.14.3"
prost-types = "0.14.3"
maplit = "1.0.2"
env_logger = "0.11.9"
crossbeam-queue = "0.3.12"
parking_lot = "0.12.5"
wide = "1.1.1"
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"] }
solana-commitment-config = { version = "3.1.1", features = ["serde"] }
tonic-prost = "0.14.5"
[dev-dependencies]
criterion = { version = "0.8.2", features = ["html_reports"] }