# 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 = "2024"
name = "betex"
version = "0.19.2"
authors = ["Denis Tsai <denistsai@aetheras.io>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Betfair / Prediction Market Exchange"
homepage = "https://github.com/dt665m/betex"
readme = "README.md"
license-file = "LICENSE"
repository = "https://github.com/dt665m/betex"

[features]
default = ["metrics"]
metrics = []

[lib]
name = "betex"
path = "src/lib.rs"

[[example]]
name = "live"
path = "examples/live/main.rs"

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

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

[[test]]
name = "active_order_count_spec"
path = "tests/active_order_count_spec.rs"

[[test]]
name = "batch_cancel_process"
path = "tests/batch_cancel_process.rs"

[[test]]
name = "batch_process_recovery_spec"
path = "tests/batch_process_recovery_spec.rs"

[[test]]
name = "batch_process_semantics_spec"
path = "tests/batch_process_semantics_spec.rs"

[[test]]
name = "book_event_tagged_enum_bridge_spec"
path = "tests/book_event_tagged_enum_bridge_spec.rs"

[[test]]
name = "book_spec"
path = "tests/book_spec.rs"

[[test]]
name = "close_process"
path = "tests/close_process.rs"

[[test]]
name = "cross_match_regression_spec"
path = "tests/cross_match_regression_spec.rs"

[[test]]
name = "engine_batch_scheduler_spec"
path = "tests/engine_batch_scheduler_spec.rs"

[[test]]
name = "engine_events_spec"
path = "tests/engine_events_spec.rs"

[[test]]
name = "engine_market_sequence_spec"
path = "tests/engine_market_sequence_spec.rs"

[[test]]
name = "engine_market_state_validation_spec"
path = "tests/engine_market_state_validation_spec.rs"

[[test]]
name = "engine_settlement_spec"
path = "tests/engine_settlement_spec.rs"

[[test]]
name = "engine_state_validation_spec"
path = "tests/engine_state_validation_spec.rs"

[[test]]
name = "engine_tx_id_persistence_spec"
path = "tests/engine_tx_id_persistence_spec.rs"

[[test]]
name = "engine_wal_sequence_spec"
path = "tests/engine_wal_sequence_spec.rs"

[[test]]
name = "idempotency_helper_spec"
path = "tests/idempotency_helper_spec.rs"

[[test]]
name = "journal_spec"
path = "tests/journal_spec.rs"

[[test]]
name = "market_kind_spec"
path = "tests/market_kind_spec.rs"

[[test]]
name = "prediction_book_spec"
path = "tests/prediction_book_spec.rs"

[[test]]
name = "protocol_idempotency_spec"
path = "tests/protocol_idempotency_spec.rs"

[[test]]
name = "replay_determinism"
path = "tests/replay_determinism.rs"

[[test]]
name = "scenario_tests"
path = "tests/scenario_tests.rs"

[[test]]
name = "tagged_enum_bridge_struct_enum_spec"
path = "tests/tagged_enum_bridge_struct_enum_spec.rs"

[[test]]
name = "two_runner_dust_regression_spec"
path = "tests/two_runner_dust_regression_spec.rs"

[[test]]
name = "two_runner_spec"
path = "tests/two_runner_spec.rs"

[[test]]
name = "types_regression_spec"
path = "tests/types_regression_spec.rs"

[[bench]]
name = "binary_yes_bench"
path = "benches/binary_yes_bench.rs"

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

[dependencies.anyhow]
version = "1"

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

[dependencies.betex-macros]
version = "0.2.0"

[dependencies.bytecheck]
version = "0.8"

[dependencies.bytes]
version = "1"

[dependencies.chrono]
version = "0.4.42"
features = ["serde"]

[dependencies.core_affinity]
version = "0.8"

[dependencies.crc32fast]
version = "1"

[dependencies.crossbeam-utils]
version = "0.8.21"

[dependencies.dashmap]
version = "6"

[dependencies.disrupt-rs]
version = "1.1.0"

[dependencies.flume]
version = "0.12"

[dependencies.futures]
version = "0.3"

[dependencies.hashbrown]
version = "0.16"
features = ["serde"]

[dependencies.heed]
version = "0.22.0"
default-features = false

[dependencies.lucidstream]
version = "1.2.0"

[dependencies.parking_lot]
version = "0.12"

[dependencies.postcard]
version = "1"
features = ["alloc"]

[dependencies.rand]
version = "0.10"

[dependencies.rkyv]
version = "0.8"
features = ["bytecheck"]

[dependencies.rust_decimal]
version = "1"

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

[dependencies.serde_json]
version = "1"

[dependencies.signal-hook]
version = "0.4"

[dependencies.slab]
version = "0.4"

[dependencies.smallvec]
version = "1"
features = ["serde"]

[dependencies.strum]
version = "0.28"
features = ["derive"]

[dependencies.thiserror]
version = "2"

[dependencies.tokio]
version = "1"
features = [
    "rt",
    "time",
]

[dependencies.tracing]
version = "0.1"

[dependencies.uuid]
version = "1.19.0"
features = [
    "v4",
    "v7",
    "serde",
]

[dev-dependencies.axum]
version = "0.8"
features = ["ws"]

[dev-dependencies.axum-extra]
version = "0.12"
features = ["typed-header"]

[dev-dependencies.clap]
version = "4"
features = ["derive"]

[dev-dependencies.criterion]
version = "0.8"

[dev-dependencies.crossterm]
version = "0.29"

[dev-dependencies.proptest]
version = "1"

[dev-dependencies.ratatui]
version = "0.30"

[dev-dependencies.tokio]
version = "1"
features = ["full"]

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

[dev-dependencies.tokio-tungstenite]
version = "0.28"

[dev-dependencies.tower]
version = "0.5"

[dev-dependencies.tower-http]
version = "0.6"
features = [
    "cors",
    "trace",
]
