[package]
name = "stealth_address_kit"
version = "0.3.1"
edition = "2021"
description = "Stealth Address Kit: A Rust library for generating stealth addresses."
license = "MIT"
homepage = "https://vac.dev"
repository = "https://github.com/vacp2p/stealth-address-kit"
readme = "../README.md"

[lib]
name = "stealth_address_kit"
path = "src/lib.rs"
crate-type = ["staticlib", "rlib"]

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

[features]
ffi = ["dep:paste"]
bls12_381 = ["dep:ark-bls12-381"]
bls12_377 = ["dep:ark-bls12-377"]
secp256k1 = ["dep:ark-secp256k1"]
secp256r1 = ["dep:ark-secp256r1"]
bn254 = ["dep:ark-bn254"]
pallas = ["dep:ark-pallas"]
vesta = ["dep:ark-vesta"]
bw6_761 = ["dep:ark-bw6-761"]
baby_jub_jub = ["dep:ark-ed-on-bn254"]
default = ["secp256k1", "ffi", "bls12_381"]
all = ["ffi", "secp256k1", "bls12_381", "bls12_377", "bn254", "secp256r1", "pallas", "vesta", "bw6_761"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
ark-std = "0.4.0"
num-traits = "0.2.15"
ark-ff = "0.4.1"
ark-bn254 = { version = "0.4.0", optional = true }
ark-bls12-381 = { version = "0.4.0", optional = true }
ark-bls12-377 = { version = "0.4.0", optional = true }
ark-secp256k1 = { version = "0.4.0", optional = true }
ark-secp256r1 = { version = "0.4.0", optional = true }
ark-pallas = { version = "0.4.0", optional = true }
ark-vesta = { version = "0.4.0", optional = true }
ark-bw6-761 = { version = "0.4.0", optional = true }
tiny-keccak = { version = "=2.0.2", features = ["keccak"] }
ark-ed-on-bn254 = { version = "0.4.0", optional = true }
ark-ec = "0.4.2"
ark-serialize = "0.4.2"
paste = { version = "1.0.0", optional = true }
rand = { version = "0.8.5", features = ["getrandom"] }

[dev-dependencies]
serde_json = "1.0.96"
color-eyre = "0.6.2"
criterion = { version = "=0.4.0", features = ["html_reports"] }

[[bench]]
name = "benches"
harness = false
