[package]
edition = "2024"
name = "melin-server"
version = "0.10.1"
authors = ["P.L.S.C."]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Melin exchange server binary"
homepage = "https://github.com/melin-engine/melin"
readme = false
license-file = "LICENSE"
repository = "https://github.com/melin-engine/melin"
[features]
default = [
"hash-chain",
"release-tracing",
]
dpdk = [
"dep:melin-dpdk",
"melin-dpdk/dpdk-sys",
"melin-server-runtime/dpdk",
]
hash-chain = [
"melin-journal/hash-chain",
"melin-transport-core/hash-chain",
"melin-server-runtime/hash-chain",
]
io-uring = []
latency-trace = [
"melin-transport-core/latency-trace",
"melin-server-runtime/latency-trace",
]
no-o-direct = [
"melin-journal/no-o-direct",
"melin-transport-core/no-o-direct",
"melin-server-runtime/no-o-direct",
]
no-persist = [
"melin-transport-core/no-persist",
"melin-server-runtime/no-persist",
]
pipeline-stats = [
"melin-transport-core/pipeline-stats",
"melin-server-runtime/pipeline-stats",
]
release-tracing = [
"tracing/max_level_info",
"melin-server-runtime/release-tracing",
]
skip-order-exec = [
"melin-exchange-core/skip-order-exec",
"hash-chain",
"release-tracing",
]
tick-to-trade = [
"latency-trace",
"melin-server-runtime/tick-to-trade",
]
[lib]
name = "melin_server"
path = "src/lib.rs"
[[bin]]
name = "journal-verify"
path = "src/bin/journal-verify.rs"
[[bin]]
name = "melin-replication-bench"
path = "src/bin/replication-bench.rs"
required-features = ["skip-order-exec"]
[[bin]]
name = "melin-server"
path = "src/main.rs"
[[test]]
name = "engine_fuzz"
path = "tests/engine_fuzz.rs"
[[test]]
name = "failover"
path = "tests/failover.rs"
[[test]]
name = "journal_halt"
path = "tests/journal_halt.rs"
[[test]]
name = "journal_recovery"
path = "tests/journal_recovery.rs"
[dependencies.base64]
version = "0.22"
[dependencies.blake3]
version = "1"
[dependencies.clap]
version = "4"
features = ["derive"]
[dependencies.crc32c]
version = "0.6"
[dependencies.ed25519-dalek]
version = "2"
features = ["rand_core"]
[dependencies.getrandom]
version = "0.4"
[dependencies.io-uring]
version = "0.7"
[dependencies.libc]
version = "0.2"
[dependencies.melin-app]
version = "0.10.1"
[dependencies.melin-dpdk]
version = "0.10.1"
optional = true
[dependencies.melin-exchange-core]
version = "0.10.1"
[dependencies.melin-journal]
version = "0.10.1"
[dependencies.melin-market-data]
version = "0.10.1"
[dependencies.melin-pipeline]
version = "0.10.1"
[dependencies.melin-protocol]
version = "0.10.1"
[dependencies.melin-server-runtime]
version = "0.10.1"
[dependencies.melin-trading]
version = "0.10.1"
[dependencies.melin-transport-core]
version = "0.10.1"
[dependencies.melin-types]
version = "0.10.1"
[dependencies.melin-wire-protocol]
version = "0.10.1"
[dependencies.rand]
version = "0.10"
[dependencies.rustc-hash]
version = "2"
[dependencies.tikv-jemallocator]
version = "0.6"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"fmt",
"env-filter",
]
[dependencies.zerocopy]
version = "0.8"
features = ["derive"]
[dev-dependencies.bolero]
version = "0.13"
[dev-dependencies.ed25519-dalek]
version = "2"
features = ["rand_core"]
[dev-dependencies.melin-client]
version = "0.10.1"
[dev-dependencies.melin-journal]
version = "0.10.1"
features = ["test-utils"]
[dev-dependencies.melin-protocol]
version = "0.10.1"
[dev-dependencies.melin-transport-core]
version = "0.10.1"
features = ["test-utils"]
[dev-dependencies.serial_test]
version = "3"
[dev-dependencies.tempfile]
version = "3"