amaru 0.1.2

A Cardano blockchain node implementation
Documentation
lints.workspace = true

[package]
name = "amaru"
version.workspace = true
edition.workspace = true
description.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
readme = "../../README.md"
rust-version.workspace = true
keywords.workspace = true
categories.workspace = true
build = "build.rs"
include = ["src/**/*", "config/**", "Cargo.toml", "build.rs"]
default-run = "amaru"

[[bin]]
name = "amaru"
path = "src/bin/amaru/main.rs"
doc = false

[[bin]]
name = "amaru-ledger"
path = "src/bin/ledger/main.rs"
doc = false

[dependencies]
# External dependencies ───────────────────────────────────────────────────────┐
anyhow.workspace = true
async-compression.workspace = true
async-trait.workspace = true
clap.workspace = true
flate2.workspace = true
futures-util.workspace = true
hex.workspace = true
include_dir = { workspace = true, features = ["glob"] }
indicatif.workspace = true
indoc.workspace = true
minicbor.workspace = true
mithril-client = { workspace = true, optional = true }
opentelemetry-otlp.workspace = true
opentelemetry-semantic-conventions.workspace = true
opentelemetry.workspace = true
opentelemetry_sdk.workspace = true
pallas-hardano.workspace = true
pallas-network.workspace = true
parking_lot.workspace = true
rayon.workspace = true
reqwest.workspace = true
serde.workspace = true
serde_json.workspace = true
sysinfo.workspace = true
tar.workspace = true
thiserror.workspace = true
tokio = { workspace = true, features = [
  "fs",
  "net",
  "rt",
  "rt-multi-thread",
  "signal",
] }
tokio-util.workspace = true
tracing-opentelemetry.workspace = true
tracing-subscriber.workspace = true
tracing.workspace = true

# Internal dependencies ───────────────────────────────────────────────────────┐
amaru-consensus = { workspace = true, features = ["test-utils"] }
amaru-kernel = { workspace = true, features = ["tracing"] }
amaru-ledger.workspace = true
amaru-mempool.workspace = true
amaru-metrics.workspace = true
amaru-network.workspace = true
amaru-observability.workspace = true
amaru-ouroboros.workspace = true
amaru-plutus.workspace = true
amaru-progress-bar = { workspace = true, features = ["terminal"] }
amaru-protocols.workspace = true
amaru-stores.workspace = true
pure-stage.workspace = true

[target.'cfg(unix)'.dependencies]
rlimit = "0.10.2"

[features]
default = ["mithril"]
mithril = ["dep:mithril-client"]

[dev-dependencies]
# External dependencies ───────────────────────────────────────────────────────┐
insta = { workspace = true, features = ["json"] }
tempfile.workspace = true
test-case.workspace = true
rocksdb.workspace = true

# Internal dependencies ───────────────────────────────────────────────────────┐
amaru-iter-borrow.workspace = true
amaru-kernel = { workspace = true, features = ["test-utils"] }
amaru-ouroboros-traits = { workspace = true, features = ["test-utils"] }

[build-dependencies]
built = { workspace = true, features = ["git2"] }
amaru-kernel.workspace = true

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["-D", "warnings"]