[package]
name = "monero-serai"
version = "0.1.4-alpha"
description = "A modern Monero transaction library"
license = "MIT"
repository = "https://github.com/serai-dex/serai/tree/develop/networks/monero"
authors = ["Luke Parker <lukeparker5132@gmail.com>"]
edition = "2021"
rust-version = "1.80"

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

[lints]
workspace = true

[dependencies]
std-shims = { path = "../../common/std-shims", version = "^0.1.1", default-features = false }

zeroize = { version = "^1.5", default-features = false, features = ["zeroize_derive"] }

curve25519-dalek = { version = "4", default-features = false, features = ["alloc", "zeroize"] }

monero-io = { path = "io", version = "0.1", default-features = false }
monero-generators = { path = "generators", version = "0.4", default-features = false }
monero-primitives = { path = "primitives", version = "0.1", default-features = false }
monero-mlsag = { path = "ringct/mlsag", version = "0.1", default-features = false }
monero-clsag = { path = "ringct/clsag", version = "0.1", default-features = false }
monero-borromean = { path = "ringct/borromean", version = "0.1", default-features = false }
monero-bulletproofs = { path = "ringct/bulletproofs", version = "0.1", default-features = false }

hex-literal = "0.4"

[dev-dependencies]
hex = { version = "0.4", default-features = false, features = ["std"] }
serde = { version = "1", default-features = false, features = ["std", "derive"] }
serde_json = { version = "1", default-features = false, features = ["std"] }

[features]
std = [
  "std-shims/std",

  "zeroize/std",

  "monero-io/std",
  "monero-generators/std",
  "monero-primitives/std",
  "monero-mlsag/std",
  "monero-clsag/std",
  "monero-borromean/std",
  "monero-bulletproofs/std",
]

compile-time-generators = ["curve25519-dalek/precomputed-tables", "monero-bulletproofs/compile-time-generators"]
default = ["std", "compile-time-generators"]
