[package]
name = "solana-ledger"
version = "1.8.13"
description = "Solana ledger"
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
documentation = "https://docs.rs/solana-ledger"
edition = "2018"

[dependencies]
bincode = "1.3.1"
byteorder = "1.3.4"
chrono = { version = "0.4.11", features = ["serde"] }
chrono-humanize = "0.2.1"
crossbeam-channel = "0.4"
dlopen_derive = "0.1.4"
dlopen = "0.1.8"
ed25519-dalek = "1.0.1"
fs_extra = "1.2.0"
futures = "0.3.8"
futures-util = "0.3.5"
itertools = "0.9.0"
lazy_static = "1.4.0"
libc = "0.2.81"
log = { version = "0.4.11" }
num-derive = "0.3"
num-traits = "0.2"
num_cpus = "1.13.0"
prost = "0.8.0"
rand = "0.7.0"
rand_chacha = "0.2.2"
rayon = "1.5.0"
serde = "1.0.122"
serde_bytes = "0.11.5"
sha2 = "0.9.2"
solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "=1.8.13" }
solana-frozen-abi = { path = "../frozen-abi", version = "=1.8.13" }
solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.8.13" }
solana-transaction-status = { path = "../transaction-status", version = "=1.8.13" }
solana-logger = { path = "../logger", version = "=1.8.13" }
solana-measure = { path = "../measure", version = "=1.8.13" }
solana-merkle-tree = { path = "../merkle-tree", version = "=1.8.13" }
solana-metrics = { path = "../metrics", version = "=1.8.13" }
solana-perf = { path = "../perf", version = "=1.8.13" }
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.8.13" }
solana-runtime = { path = "../runtime", version = "=1.8.13" }
solana-sdk = { path = "../sdk", version = "=1.8.13" }
solana-storage-bigtable = { path = "../storage-bigtable", version = "=1.8.13" }
solana-storage-proto = { path = "../storage-proto", version = "=1.8.13" }
solana-vote-program = { path = "../programs/vote", version = "=1.8.13" }
tempfile = "3.1.0"
thiserror = "1.0"
tokio = { version = "1", features = ["full"] }
tokio-stream = "0.1"
trees = "0.2.1"

# Disable reed-solomon-erasure/simd-accel feature on aarch64 only since it
# requires clang to support -march=native.
[target.'cfg(any(target_arch = "aarch64", target_arch = "aarch64_apple_darwin"))'.dependencies]
reed-solomon-erasure = { version = "4.0.2" }

[target.'cfg(not(any(target_arch = "aarch64", target_arch = "aarch64_apple_darwin")))'.dependencies]
reed-solomon-erasure = { version = "4.0.2", features = ["simd-accel"] }

[dependencies.rocksdb]
# Avoid the vendored bzip2 within rocksdb-sys that can cause linker conflicts
# when also using the bzip2 crate
version = "0.16.0"
default-features = false
features = ["lz4"]

[dev-dependencies]
assert_matches = "1.3.0"
matches = "0.1.6"
solana-account-decoder = { path = "../account-decoder", version = "=1.8.13" }

[build-dependencies]
rustc_version = "0.2"

[lib]
crate-type = ["lib"]
name = "solana_ledger"

[[bench]]
name = "sigverify_shreds"

[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
